강의 컨설팅 트레이닝 무료진단 무료책자 마케팅편지 마케팅정보공유 다이어리 서비스제휴 고객센터

php 파일 업로드 버그
작성자 : 13 김영철
등록날짜 : 2009.01.13 14:43
1,536
php 파일 업로드 버그  
현재 많은 사이트에서 사용중인 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가 들어가는 파일을 막 을 수 있습니다.

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

[출처]  웹디황용

"쇼핑몰·홈페이지·오픈마켓
블로그·페이스북·이메일 등의 각종 마케팅 글쓰기,
각종 광고, 영업, 판매, 제안서, 전단지
반응율 3배×10배 이상 높이는 마법의 8단계 공식"
자세히보기

Comments

번호 제목 글쓴이 날짜 조회
3105 간단한 HTTP인증 소스 13 김영철 01.13 1503
3104 플래시 효과적으로 이용하기 TIP 99 단국강토 02.03 1504
3103 PHP 문자열 함수 13 김영철 01.13 1504
3102 PHP 세션에서 시작, 변수등록, 변수삭제, 부수기 13 김영철 01.13 1507
3101 [hatelove님의 JBBS 알고리즘 강좌 11] 13 김영철 01.14 1508
3100 MSSQL Server DBA 가이드-1 M 최고의하루 12.26 1510
3099 웹 에디터 만들기 iframe 사용 99 단국강토 01.05 1513
3098 Shared library assets 1 99 단국강토 02.16 1514
3097 플래시 액션 기본적인 문법 M 최고의하루 02.04 1515
3096 문자열 처리함수[중요] 13 김영철 01.14 1515
3095 word-break:break-all, nowrap 유용하게 쓰기 99 단국강토 01.30 1517
3094 javascript, PHP 라이브러리 99 단국강토 01.07 1518
3093 [hatelove님의 JBBS 알고리즘 강좌 8] 13 김영철 01.14 1518
3092 메일 보내기 13 김영철 01.13 1522
3091 MSSQL Server DBA 가이드-2 M 최고의하루 12.26 1523
3090 FORM 태그 기본 ★ M 최고의하루 12.20 1524
3089 [HTML] 메타태그 정리 99 단국강토 01.05 1524
3088 배경고정하기 M 최고의하루 01.15 1524
3087 PHP와 MYSQL 연동 관련 함수 13 김영철 01.15 1524
3086 CSS Intro 99 단국강토 01.12 1527
3085 프린트관련스크립 99 단국강토 02.10 1528
3084 DOM 참조(JavaScript이용) 99 단국강토 02.09 1528
3083 레이어 메뉴의 구성 99 단국강토 02.19 1528
3082 URL관련함수 13 김영철 01.13 1531
3081 웹서버의 운영체제, 아파치버전, php버전, 아이피 조회하기 13 김영철 01.14 1532
3080 [php]Smarty QuickStart Guide 13 김영철 01.14 1535
열람중 php 파일 업로드 버그 13 김영철 01.13 1537
3078 플래쉬 액션 스크립트 flash action script 99 단국강토 01.19 1539
3077 substr 사용법 13 김영철 01.13 1543
3076 로딩막대 M 최고의하루 02.10 1544
마케팅
특별 마케팅자료
다운로드 마케팅자료
창업,경영
기획,카피,상품전략
동기부여,성취