[보안]PHP 파일 업로드기능으로 업로드된 임의의 파일 실행 취약점 해결
페이지 정보
작성자 최고관리자 작성일 21-02-09 11:37 조회 8,760 댓글 0본문
PHP는 리모트 브라우저로부터 파일 업로드기능을 쉽게 제공합니다.
대개의 경우 자바스크립트등을 이용하여 특정 확장자의 화일업로드를 막는게 대부분입니다.
하지만 업로드되는 디렉토리의 퍼미션이 대개 777 또는 770로 설정되기
때문에 안심할 수 만은 없을것입니다...PHP로 얼마나 많은 일을 할 수 있습니까...이것이 PHP의 장점이자 단점이기도 하지요...
하지만 꾸준한 패치 및 부지런함이 가능하다면 PHP는 더할나위없이 강력한 script임에 틀림 없을 것입니다.
[해결책]
예를 들어 /home/php/public_html/upload 라는 디렉토리에 업로드한 화일을 저장하도록 설정되어 있을 경우, 악의적인 사용자가 업로드한 php 스트립트도 그 디렉토리에 저장되게 될 것입니다.
이때, 그 디렉토리에서 php 스크립트가 실행되지 않도록 할 수 있습니다.
아파치의 httpd.conf 설정화일을
PHP3의 경우에는
<Directory "/home/php/public_html/upload">
php3_engine off
</Directory>
PHP4의 경우에는
<Directory "/home/php/public_html/upload">
php_admin_flag engine off
</Directory>
이렇게 추가한다음 아파치를 다시 실행시키면 됩니다.
그럼, 그디렉토리의 스크립트에 존재하는 어떤한 php(명령)도 실행되지 않으며, 단순한 텍스트화일로 취급된다. 화면이 .txt처럼 쭉 뿌린답니다.
[[[[발췌 : 한국정보보호센터 ]]]
-----------------------------------------
다음카페..."나 php 공부한다~*"의 냉박사님글발췌
대개의 경우 자바스크립트등을 이용하여 특정 확장자의 화일업로드를 막는게 대부분입니다.
하지만 업로드되는 디렉토리의 퍼미션이 대개 777 또는 770로 설정되기
때문에 안심할 수 만은 없을것입니다...PHP로 얼마나 많은 일을 할 수 있습니까...이것이 PHP의 장점이자 단점이기도 하지요...
하지만 꾸준한 패치 및 부지런함이 가능하다면 PHP는 더할나위없이 강력한 script임에 틀림 없을 것입니다.
[해결책]
예를 들어 /home/php/public_html/upload 라는 디렉토리에 업로드한 화일을 저장하도록 설정되어 있을 경우, 악의적인 사용자가 업로드한 php 스트립트도 그 디렉토리에 저장되게 될 것입니다.
이때, 그 디렉토리에서 php 스크립트가 실행되지 않도록 할 수 있습니다.
아파치의 httpd.conf 설정화일을
PHP3의 경우에는
<Directory "/home/php/public_html/upload">
php3_engine off
</Directory>
PHP4의 경우에는
<Directory "/home/php/public_html/upload">
php_admin_flag engine off
</Directory>
이렇게 추가한다음 아파치를 다시 실행시키면 됩니다.
그럼, 그디렉토리의 스크립트에 존재하는 어떤한 php(명령)도 실행되지 않으며, 단순한 텍스트화일로 취급된다. 화면이 .txt처럼 쭉 뿌린답니다.
[[[[발췌 : 한국정보보호센터 ]]]
-----------------------------------------
다음카페..."나 php 공부한다~*"의 냉박사님글발췌
댓글목록 0
등록된 댓글이 없습니다.