/var/www/html/tmp/1718088401@webshell.php 가 경로이므로 http://ip주소/tmp/1718088401@webshell.php
http://ip주소/tmp/1718088401@webshell.php?cmd=리눅스 명령어를 주소창에 치면 동작함
- 대응
첨부파일의 실제 MIME 타입과 확장자를 모두 검증하기 때문에 웹쉘이 더이상 업로드 되지 않음
첨부파일 디렉토리의 php(서버사이드스크립트)가 실행되지 않도록 설정 vi /etc/httpd/conf/httpd.conf <Directory "/var/www/html/tmp"> AllowOverrideAll </Directory> 파일업로드 디렉터리에 .htaccess생성 vi /var/www/html/tmp/.htaccess
vi /var/www/html/tmp/.htaccess <FilesMatch"\.(ph|inc|lib)"> Order allow,deny Deny from all </FilesMatch> url을 통한 ph, .inc, .lib 파일 직접접근 차단 systemctl restart httpd
첨부파일 디렉터리(/tmp)에 있는 웹쉘 재접근시 403 응답코드 반환
파일업로드 용량 제한 vi /etc/httpd/conf/httpd.conf <Directory "/var/www/html/tmp"> AllowOverrideAll LimitRequestBody5000000 </Directory> systemctl restart httpd 5M으로 제한