|
커피향이 나는 *NIX
커피닉스
시스템/네트웍/보안을 다루는 곳
|
|
|
|
| 이전 주제 보기 :: 다음 주제 보기 |
| 글쓴이 |
메시지 |
truefeel 카페 관리자
가입: 2003년 7월 24일 올린 글: 1277 위치: 대한민국
|
올려짐: 2009.8.21 금, 10:37 pm 주제: php에서 파일 업로드 체크할 때 주의할 점 |
|
|
Papoo CMS의 파일업로드 취약점이 발표되었다. http://www.securityfocus.com/archive/1/505639 이번 취약점 발표를 통해서, 파일업로드를 할 때 보안문제가 발생하지 않도록 하려면 어떻게 해야하는지 생각해본다.
Papoo CMS는 사용자가 GIF, JPG, PNG등의 이미지 파일 업로드할 수 있다. 그러나 이 CMS는 파일을 업로드할 때 파일 확장자 체크는 하지 않고, 오직 이미지의 헤더만 체크를 한다. 다음과 같은 명령은 정상적인 GIF 헤더로 판단하게 되나, phpinfo()를 실행할 수 있다.
| 인용: |
The following command will generate a file with a valid GIF header which runs the phpinfo() function when requested:
$ printf "GIF89a\x01\x00\x01\x00<?php phpinfo();?>" > poc.php |
위와 같은 경우 GIF 헤더만 체크하면 악용될 수 있다. 따라서 파일 업로드를 체크할 때는
1) 반드시 확장자를 체크하고,
2) 이미지 파일의 경우 헤더까지 체크해줘야.
3) 또한 파일 확장자 체크할 때 . 으로 구분된 모든 확장자를 체크해줘야 좋다.
temp.php.aaaa 의 경우 파일 업로드될 경우, aaaa에 대한 MIME type이 없기 때문에 php파일로 인식될 수 있다.
이에 대한 해결책은 'apache mod_mime 보안 취약 해결 방법' (글 우주곰, 2009)을 읽어보길.
※ 8.21(금) 커피닉스 이야기중에서 뽑아서 별도 주제로 정리했다.
※ 참여자 : sCag, 좋은진호, 범냉이 등 |
|
| 위로 |
|
 |
|
|
새로운 주제를 올릴 수 있습니다 답글을 올릴 수 있습니다 주제를 수정할 수 없습니다 올린 글을 삭제할 수 없습니다 투표를 할 수 없습니다
|
Powered by phpBB © 2001, 2005 phpBB Group
|