PHP 화이트리스트 필터링 우회 (Multiple Extensions 취약점)


PHP 화이트리스트 필터링 우회 (Multiple Extensions 취약점)

화이트리스트 방식 시큐어코딩 (upload.php) 화이트 리스트 방식으로 'jpg', 'jpeg', 'png', 'gif' 확장자를 필터링 처리 하고 있다. 즉 이외의 확장자는 업로드 불가능 하다. Multiple Extensions 취약점 화이트리스트 필터링 코드는 확장자가 소문자인 그림 파일만 업로드가 가능 하도록 하고 있어, 파일명을 c99.php.jpg 로 변경하면 업로드가 가능하다. 웹 서버에서 jpg(이미지파일) 로 인식 하는것이 아닌 php 코드가 정상적으로 실행 되었다. 이러한 현상이 발생하는 이유는 다음과 같다. Apache 다중 확장자 처리 방식 파일은 하나 이상의 확장자를 가질 수 있으며 확장자의 순서는 일반적으로 관계가 없다. 예를 들어, welcome.html .fr 파일이 Content-Type 은 text/html 이며 프랑스어로 매핑되는 경우 welcome.fr.html 파일과 정확히 동일한 정보에 매핑된다. 동일한 유형의 메타 정보에 매핑되는 확장명이...



원문링크 : PHP 화이트리스트 필터링 우회 (Multiple Extensions 취약점)