GIF+PHP 해킹기법을 피하는 방법
헐랭이와 IT보안 블로그는 RSS에 등록해두고 틈틈이 보고 있는데 오늘 눈이 번뜩 떠질만한 이야기가 올라왔습니다.

GIF+PHP 해킹기법에 대한 소개인데 http://durl.kr/eju 에 자세한 내용이 있습니다.
뭐 간단한 예이지만 hack.gif.php 같이 이미지 업로드를 했다고 할때
이 파일이름 그대로를 저장하고 나중에 이미지를 불러올때

<img src="hack.gif.php" title="이건 해킹에 취약해!" />

이런 식으로 사용하게 되면 해커가 삽입한 php 코드가 실행된다는 것입니다.
물론 맨 나중 확장자를 가져오도록 하면 되긴 하지만 그렇다고 문제가 완전히 해결되는 것은 아닙니다.


따라서 다음과 같은 방법을 사용하거나..

$file = 'image.gif.php';
Header('Content-Type: image/gif');
readfile('images/'.basename($file));


헐랭이님이 두번이나 강조하는 바와 같이 이렇게 해야겠습니다.

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



반응형