Study/Web

File Upload(파일 업로드) 취약점

seomj 2021. 6. 14. 13:35

File Upload(파일 업로드) 취약점이란?

웹 서버가 제공하는 파일 업로드 기능을 이용하여 악성 스크립트를 업로드하는 공격

악성 스크립트가 업로드 된 후, 서버상에서 스크립트를 실행하여 쉘을 획득하는 등의 행위로 서버를 장악할 수 있음

적절한 검증 없이 파일 업로드 기능을 제공할 때 발생

 

언어 파일 확장자
PHP php, php3, php4, php5, phtml, inc 
JSP jsp, jsf 
ASP Asp, asa, cds, cer 등 
ASP.NET aspx, asax, ascx, ashx, asmx, axd, config, cs, csproj, licx, rem, resources, resx, soap, vb, vbproj, vsdisco, webinfo 등 

 

 

 

보안

- 대소문자를 구분하지 않고 확장자 검사

 

 

- 웹 서버에 업로드 되면 실행권한을 제거하고 파일명을 다르게 하여 저장

 

 

- httpd.conf 파일 AllowOverride 지시자에 FileInfo(또는 All) 옵션을 설정

<Directory> ~
       AllowOverride Fileinfo (All)
</Directory>

 

* AllowOverride All : 사용자 .htaccess 사용

 

 

그 후 파일 업로드 디렉토리에 .htaccess 파일 생성 후 스크립트 실행되지 않게 설정

 

 

 

참고

https://goc1221.tistory.com/78