확장자2 modsecurity php 업로드 제한설정 작성자 : 홍석범 확장자로 필터링할 수 있는 방법도 있겠지만 실제로 공격자 입장에서는 이를 우회할 수 있는 방법이 매우 많이 있습니다. 실제로 double extension이나 .txt 또는 .gif 등의 확장자를 사용하지만 실제 php코드인 경우가 매우 많이 있습니다. 따라서 단순 확장자 필터링 방법보다는 이 방법이 어떨까 합니다. SecRule FILES_TMPNAMES "@inspectFile /usr/local/sbin/chk_upload.sh" "log,auditlog,deny,status:403,phase:2" 와 같이 지정한 후 해당 쉘스크립트(chk_upload.sh)에서는 파일의 콘텐츠에 " 2010. 1. 11. 안전한 PHP 파일 업로드 구현 체크 리스트 1. Content Type 검증 $_FILES['uploadfile']['type']로 MIME type 검증 * PHP가 받아오는 MIME type은 웹브라우저가 넘겨주는 값을 그대로 쓴다. 대다수 웹브라우저들은 확장자로 MIME type을 결정하기 때문에 신뢰도가 떨어지는 건 어쩔 수 없다. 2. Image 파일 검증 $imageInfo = getimagesize($_FILES['uploadfile']['tmp_name']); getimagesize로 MIME type 검증하기 * 이미지 업로드시 쓰는 방법이다. 이미지라면 제대로 값을 return 해주지만 그렇지 않으면 return을 못한다. 3. 확장자 검증 $filename = $strtolower($_FILES['uploadfile']['na.. 2009. 9. 23. 이전 1 다음 728x90