File 취약점 문서화 및 대응방안 정리
File Vulnerability: 파일로 인해 웹 어플리케이션에 명령 실행하는 취약점
1. File Upload Vulnerability
파일을 웹서비스에 업로드하는 과정에서 발생하는 취약점
- 파일 시스템 특정 경로에 원하는 파일 업로드
- 악성 확장자를 갖는 파일 업로드
조건: 이용자가 파일 이름을 정할 수 있을 때 발생
웹 쉘(웹을 통해 시스템 명령 가능) 파일 업로드 후 시스템 명령 실행
1) Path Traversal: 원하는 디렉토리에 파일을 업로드할 수 있을 때 발생하는 취약점
2) 악성 파일 업로드: 악성 파일인지 제대로 검사하지 않을 때 발생하는 취약점
개발 언어에 따른 공격 가능 확장자 정리
| 환경 | 공격 가능 확장자 |
| ASP | asp,aspx,htm,html,asa,cer,cdx |
| PHP | phtml,html,htm,php,php3,php4,php5,inc |
| JAVA, JSP | jsp,jspx,jsw,jsv,jspf,htm,htm,war |
*파일 확장자 제한 우회
1) 확장자 검사를 우회해 파일 업로드 -> Burp suit 사용하여 content-type 변조
2) NULL byte 문자 사용 -> OS에서 파일 %00까지만 읽는 특징 이용
*대응방안
화이트리스트 방식 필터: 안전한 파일 확장자만 허용
파일명 길이와 크기 제한
파일 Magic Number 검사
파일 Content-Type 헤더값 확인
2. File Download Vulnerability
웹서비스에 있는 파일을 다운로드하는 과정에서 발생하는 취약점
조건: 이용자가 파일 이름을 정할 수 있을 때 발생
파일의 경로 및 파일명을 파라미터로 받음-> 임의의 위치에 있는 파일 접근
-Path Traversal: 파일 이름을 직접 입력 받아 원하는 디렉토리에 있는 파일 다운로드가 가능할 때 발생하는 취약점
../ 같은 구문으로 상위 디렉토리 접근 -> etc/passwd, etc/shadow 등 시스템 파일 접근
*대응방안
파일 정보값 암호처리
특정 입력 값 제한: ../ 같은 구문 필터링
파일 확장자 제한: 위험한 파일을 다운받을 수 없게 특정 확장자들만 허용
'SWING > web hacking' 카테고리의 다른 글
| SWING WEB 6주차(2) (0) | 2023.11.28 |
|---|---|
| SWING WEB 5주차(2) (0) | 2023.11.21 |
| SWING WEB 5주차(1) (0) | 2023.11.21 |
| SWING WEB 결석분 문서화 (0) | 2023.11.14 |
| SWING WEB 4주차(1) (0) | 2023.11.12 |
