1. 파일 다운로드 취약점
외부에서 입력되는 값에 대해 경로 조작에 사용될 수 있는 문자 (../, %2e%2e%ef 등)를 검증하지 않고, 주요 시스템 파일이 저장된 경로에 접근 권한이 설정되어 있지 않을 경우 발생하는 취약점이다.

공격자가 임의 위치에 존재하는 파일을 다운로드 할 수 있으며, 다운로드된 시스템 파일 정보 획득을 통해 2차 공격에 악용할 수 있다. 특히, 유닉스나 리눅스 계열의 웹 서버는 각별한 주의가 필요하다.
검색 방법
- Burp Suite 를 통해 Null bytes 허용 여부 확인
- { Windows : \, Linux: / } 입력
- ./, ../ 을 입력하여 파일 다운로드 시도
- download.jsp 파일 존재 여부 확인
- inurl:"download.jsp?filename="
- inurl:"download.jsp?path="
대응 방안
- 파일 경로 매개변수 문자열 필터링 : [..], [../], [,,\] 등 상위 경로를 의미하는 path traversal 문자열 필터링
- 파일 다운로드 가능 위치 고정 : 가능 위치 외 디렉터리에서는 다운로드가 불가능하도록 로직 구현
- 다운로드 파일 이름을 DB.에 저장하고 다운로드 시 요청파일 이름과 비교하여 적정성 검증을 통한 취약한 매개변수 제거
2. 파일 업로드 취약점
공격자가 웹 사이트의 게시판 및 자료실의 파일 업로드 기능을 이용하여 공격자가 만든 특정 공격 프로그램을 업로드하여 웹 서버의 권한 획득이 가능한 취약점이다.

공격자가 WebShell 등 악성 프로그램 파일을 정상 파일로 위장하여 업로드를 수행할 수 있다.
공격자가 악성 프로그램 업로드 후 해당 파일에 접근하여 스크립트를 실행하면 외부 보안 체계를 우회하여 내부 정보 획득 및 백도어 설치, 악성파일 삽입 등 추가 공격을 수행하여 웹 서버를 장악할 수 있다.
검색 방법
- 업로드 기능이 활성화된 게시판 탐색
- 웹서버 디렉터리 내 shell interpreter 탐색
e.g., Runtime.exe, WSCRIPT.SHELL, shell_exec 등- intitle:"index of/" + "Runtime.exe"

대응 방안
- 업로드 확장자 검증 기능 구현
- Upload 파일에 대한 실행 권한 제거 : Upload 전용 디렉터리를 별도 생성하고, 해당 디렉터리에 대한 실행 권한 제거
3. 소스코드 내 중요정보 노출 취약점
소스코드 주석문에 민감한 정보가 포함되어 있는 경우, 외부 공격자에 의해 패스워드 등 보안 관련 정보가 노출될 수 있는 취약점이다.

특히 웹 애플리케이션 개발 시 개발자가 편의를 위해 삽입한 코드에서 관리자 페이지 접속 링크, 게시판 삭제용 비밀번호 등이 그대로 노출되어 이를 공격자가 별다른 시도 없이 손쉽게 공격이 가능하다.
검색 방법
- 하드코딩된 관리자 계정 정보
> filetype:php intext:"$admin_username" (or "$admin_password") - PHP 오류 메시지가 포함된 로그 파일 찾기
> intitle"index of" "error_log" OR "php_errors.log
대응 방안
- 중요 정보 파일 별도 보관 및 난독화
- 불필요한 백업 파일 전부 삭제
- Client side 대신 Server side에서 중요 로직 처리
- Client side : HTML, JAVA Script, Virtual Basic Script 등
- Server side : ASP, JSP, PHP, Perl 등
4. 공개용 웹 게시판 취약점
공개용 게시판을 사용할 경우 인터넷에 공개된 각종 취약점 정보로 인해 홈페이지 변조 및 해킹 경유지로 사용될 수 있는 취약점이다.

제로보드, 그누보드 등 오픈소스 기반으로 제작된 공개용 웹 게시판을 사용할 경우 각종 취약점에 대한 정보가 인터넷에 공개된다. 공격자가 해당 정보를 수집하여 웹 게시판 별로 유발되는 취약점을 악용하여 홈페이지 위변조나 해킹 경유지 사용, 파일 업로드 등 다양한 공격이 가능하다.
검색 방법
- ExploitDB, CVE 등 취약점 공개 사이트 검색


- 공개용 웹 게시판 기본 페이지 확인
> inurl:gnuboard

대응 방안
- 웹 서버에 공개된 웹 게시판 사용 지양
- e.g., 그누보드, 제로보드, 테크노트 등
- 사용할 경우 보안 패치 및 최신 제품 설치
- 정기적으로 보안 취약점 정보 확인
참고 출처
-
'리팩토링 > 3. CERT' 카테고리의 다른 글
침해대응 & CERT 10주차. 웹 취약점(4) (0) | 2025.03.04 |
---|---|
침해대응 & CERT 9주차. 웹 쉘 (1) | 2025.02.24 |
침해대응 & CERT 7주차. 웹 취약점(2) (1) | 2025.02.12 |
침해대응 & CERT 6주차. 웹 취약점(1) (1) | 2025.02.03 |
침해대응 & CERT. Honeypot (0) | 2025.01.30 |
1. 파일 다운로드 취약점
외부에서 입력되는 값에 대해 경로 조작에 사용될 수 있는 문자 (../, %2e%2e%ef 등)를 검증하지 않고, 주요 시스템 파일이 저장된 경로에 접근 권한이 설정되어 있지 않을 경우 발생하는 취약점이다.

공격자가 임의 위치에 존재하는 파일을 다운로드 할 수 있으며, 다운로드된 시스템 파일 정보 획득을 통해 2차 공격에 악용할 수 있다. 특히, 유닉스나 리눅스 계열의 웹 서버는 각별한 주의가 필요하다.
검색 방법
- Burp Suite 를 통해 Null bytes 허용 여부 확인
- { Windows : \, Linux: / } 입력
- ./, ../ 을 입력하여 파일 다운로드 시도
- download.jsp 파일 존재 여부 확인
- inurl:"download.jsp?filename="
- inurl:"download.jsp?path="
대응 방안
- 파일 경로 매개변수 문자열 필터링 : [..], [../], [,,\] 등 상위 경로를 의미하는 path traversal 문자열 필터링
- 파일 다운로드 가능 위치 고정 : 가능 위치 외 디렉터리에서는 다운로드가 불가능하도록 로직 구현
- 다운로드 파일 이름을 DB.에 저장하고 다운로드 시 요청파일 이름과 비교하여 적정성 검증을 통한 취약한 매개변수 제거
2. 파일 업로드 취약점
공격자가 웹 사이트의 게시판 및 자료실의 파일 업로드 기능을 이용하여 공격자가 만든 특정 공격 프로그램을 업로드하여 웹 서버의 권한 획득이 가능한 취약점이다.

공격자가 WebShell 등 악성 프로그램 파일을 정상 파일로 위장하여 업로드를 수행할 수 있다.
공격자가 악성 프로그램 업로드 후 해당 파일에 접근하여 스크립트를 실행하면 외부 보안 체계를 우회하여 내부 정보 획득 및 백도어 설치, 악성파일 삽입 등 추가 공격을 수행하여 웹 서버를 장악할 수 있다.
검색 방법
- 업로드 기능이 활성화된 게시판 탐색
- 웹서버 디렉터리 내 shell interpreter 탐색
e.g., Runtime.exe, WSCRIPT.SHELL, shell_exec 등- intitle:"index of/" + "Runtime.exe"

대응 방안
- 업로드 확장자 검증 기능 구현
- Upload 파일에 대한 실행 권한 제거 : Upload 전용 디렉터리를 별도 생성하고, 해당 디렉터리에 대한 실행 권한 제거
3. 소스코드 내 중요정보 노출 취약점
소스코드 주석문에 민감한 정보가 포함되어 있는 경우, 외부 공격자에 의해 패스워드 등 보안 관련 정보가 노출될 수 있는 취약점이다.

특히 웹 애플리케이션 개발 시 개발자가 편의를 위해 삽입한 코드에서 관리자 페이지 접속 링크, 게시판 삭제용 비밀번호 등이 그대로 노출되어 이를 공격자가 별다른 시도 없이 손쉽게 공격이 가능하다.
검색 방법
- 하드코딩된 관리자 계정 정보
> filetype:php intext:"$admin_username" (or "$admin_password") - PHP 오류 메시지가 포함된 로그 파일 찾기
> intitle"index of" "error_log" OR "php_errors.log
대응 방안
- 중요 정보 파일 별도 보관 및 난독화
- 불필요한 백업 파일 전부 삭제
- Client side 대신 Server side에서 중요 로직 처리
- Client side : HTML, JAVA Script, Virtual Basic Script 등
- Server side : ASP, JSP, PHP, Perl 등
4. 공개용 웹 게시판 취약점
공개용 게시판을 사용할 경우 인터넷에 공개된 각종 취약점 정보로 인해 홈페이지 변조 및 해킹 경유지로 사용될 수 있는 취약점이다.

제로보드, 그누보드 등 오픈소스 기반으로 제작된 공개용 웹 게시판을 사용할 경우 각종 취약점에 대한 정보가 인터넷에 공개된다. 공격자가 해당 정보를 수집하여 웹 게시판 별로 유발되는 취약점을 악용하여 홈페이지 위변조나 해킹 경유지 사용, 파일 업로드 등 다양한 공격이 가능하다.
검색 방법
- ExploitDB, CVE 등 취약점 공개 사이트 검색


- 공개용 웹 게시판 기본 페이지 확인
> inurl:gnuboard

대응 방안
- 웹 서버에 공개된 웹 게시판 사용 지양
- e.g., 그누보드, 제로보드, 테크노트 등
- 사용할 경우 보안 패치 및 최신 제품 설치
- 정기적으로 보안 취약점 정보 확인
참고 출처
-
'리팩토링 > 3. CERT' 카테고리의 다른 글
침해대응 & CERT 10주차. 웹 취약점(4) (0) | 2025.03.04 |
---|---|
침해대응 & CERT 9주차. 웹 쉘 (1) | 2025.02.24 |
침해대응 & CERT 7주차. 웹 취약점(2) (1) | 2025.02.12 |
침해대응 & CERT 6주차. 웹 취약점(1) (1) | 2025.02.03 |
침해대응 & CERT. Honeypot (0) | 2025.01.30 |