아파치는 다중 언어의 지원을 위해 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 |