사이트 내 전체검색
php 파일 업로드 버그
로빈아빠
https://cmd.kr/server/894 URL이 복사되었습니다.

본문

현재 많은 사이트에서 사용중인 PHP게시판은 대부분 파일업로드 부분에 서 보안관련 버그가 존재합니다.

따라서 웹을 통해서 자료실등에 php스크립트를 올려서 내부 php의 소스 를 볼 수가 있습니다.

보통 파일확장자를 검사할 때 $ext = explode(".",$file_name); 혹은 $ext = substr(strrchr($file_name,"."), 1); 이렇게 검사를 하는 게시판이 많이 있습니다.

하지만 이런방법의 검사는 보안홀이 존재합니다.
현존하는 거의 모든 게시판에서 통하더군요.

쿨BBS,적수보드,제쯔,snow,테 크노트,네오등등... 업로드시 파일이름 뒤에 .을 붙이는 경우 확장자 체크가 되지 않습니다. 전부터 php 업로드에 관한 보안이 문제시 되었으나 .

붙이기로 기존의 확 장자체크가 무의미해졌기 때문입니다.
또한 리눅스에서도 .php. 를 .php 스크립트로 인식하기 때문에 이로 인해 피해가 급속도로 확산될 것입니다.

-------------- 해결방법 ---------------
간단한 해결법은 정규표현식으로 eregi("\\.php",$file_name) 이렇게 .php 나 .inc .htm 등 (.등록된스크립트)는 모두 막는것입니다.

확장자든 파일이름이든 정규표현식으로.. 그러면 .php .php. .php3 .php6 등 .php만 들어가면 다막지요.

★ COOLBBS 의 경우 업로드 파일의 확장자를 검사하는 부분은 아래부분입 니다.
/bbs/new.html 파일의 275 라인. ------- $file_name = substr( strrchr($up_file_name,"."),1); if ($file_name==php3 || $file_name==html || $file_name==php || $file_name==phtml || $file_name==inc || eregi ("\\.php",$up_file_name)) { echo (" "); exit; }
이부분의 확장자 검사루틴에 위와 같이 || eregi ("\\.php",$up_file_name) 를 추가해서 이름중에 php가 들어가는 파일을 막 을 수 있습니다.

기타 게시판을 사용하시는 분들도 모두 각자의 파일업로드 부분을 점거하 시고 즉시 수정하시기 바랍니다

댓글목록

등록된 댓글이 없습니다.

1,139 (17/23P)

Search

Copyright © Cmd 명령어 3.133.139.164