SWING WEB 6주차(1)

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