본문 바로가기
보안/해킹 기법

Apache 다중 확장자 업로드 취약점

by ITPro 2012. 5. 1.

아파치는 다중 언어의 지원을 위해 MultiViews 옵션을 제공하는데(링크) 이를 악용하여 공격자는 확장자를 속여서 서버 사이드 스크립트의 업로드가 가능하다.

<그림1> .php.bak 확장자로 업로드한 웹쉘 실행 화면


MultiViews를 제거하려면 Directory의 Options에서 -MultiViews를 설정해주면 된다


<Directory "/htdocs">

    Options -MultiViews

    AllowOverride All

    Order allow,deny

    Allow from all

</Directory>

<표1> MultiViews 제거 설정

 

 

 

Apache 2.2부터는 -MultiViews를 명시해주어도 동작하기때문에 FilesMatch를 통해 다중 확장자 업로드를 막아야한다.

 #AddType application/x-httpd-php .php .html

<FilesMatch \.php$>

    SetHandler application/x-httpd-php

<FilesMatch>

<표2> FilesMatch 설정




MultiViews 옵션을 제거하거나 FilesMatch 옵션을 적용하면 다음과 같이 .php 파일이 중간에 들어있더라도 php 파일로 인식되지 않기때문에 안전하다.

<그림2> 취약점 제거 후 웹쉘 실행 화면



반응형

'보안 > 해킹 기법' 카테고리의 다른 글

Triple DES  (0) 2010.08.11
웹해킹 - 패킷 변조  (0) 2010.08.11
[MS08-067] 공격 코드  (2) 2010.08.11
DrDOS  (0) 2010.08.11
Cookie 변조  (0) 2010.08.11

바로가기