본문 바로가기
기타/해킹 공부

GIF+PHP 해킹

by WebHack 2009. 5. 19.
아래 '해킹에 도움이 되는 IE 기능'을 적다 생각나서 GIF+PHP를 이용한 해킹에 대해 정리.

Gif+Php 조합을 이용해 PHP 서버를 공격하는 시나리오.
http://isc.sans.org/diary.html?storyid=2997
http://www.phpclasses.org/blog/post/67-PHP-security-exploit-with-GIF-images.html

기본 구상은 GIFAR와 유사한데, PHP로 구축된 대상 웹 사이트가 이미지 파일 업로드를 허용하는 경우 GIF+PHP 파일을 서버에 업로드한 후 Local include 취약점이나 이미지 뷰 기능을 이용해 해당 PHP 코드를 실행시킬 수 있다. 이때 관리자가 IE를 사용하고 있으면 관리자 눈에는 아래와 같이 정상적인 이미지만 보인다.

주로 사용자 아바타 기능, 포토 갤러리 기능, 블로그/게시판/커뮤니티 스킨 기능 등 이미지 파일 업로드 및 뷰가 원활한 사이트에 활발히 사용되는기법이다.

이런 공격 기법을 막기 위해서는 파일 업로드 검사 시 지금처럼 확장자에 기반한 검사를 수행하는 것에서 한발짝 나아가서
1.  파일 헤더 부분과 바디 부분을 읽어 정상적인 이미지 파일인지 검사
하는 것이 필요하다.

보다 상세한 사항은 http://www.scanit.be/uploads/php-file-upload.pdf 참조. 이 자료는 개발자가 PHP로 파일 업로드 기능을 구현할 때 해커가 어떻게 다양한 우회 기법을 사용하는지를 잘 보여주고 있다.

추가로 호스팅 환경의 서버 관리자라면, 주기적으로 서버 내의 이미지 파일들에 대해 정상적인 이미지 파일인지 검사하는 스크립트를 돌리는 것도 추가적인 보안 대책이 될 수 있다.

---888888---추가---888888---
예전에 메모해둔 내용 추가

**  성공 조건
1. 대상 서버에 local include 취약점이 존재
2. gif, jpg 등 이미지 파일 업로드는 가능하나 php 업로드가 불가능(우회 불가)

** 사용 방법
1. 도스창에서 copy /b tux.jpg+gifphp.php gifphp.jpg
2. gifphp.jpg 파일을 대상 서버에 업로드
3. http://www.example.com/vuln.php?include=../../gifphp.jpg
4. IE로 하면 불편하지만, FF로 하면 편함.

** 참고
필요 시 .htaccess를 업로드하여 php 설정을 변경
이글루스 가든 - professional secur...

출처 : 헐랭이와 IT보안