XAMPP Windows PHP-CGI 代码执行漏洞(CVE-2024-4577) | Goby漏洞预警
漏洞描述:
PHP是一种在服务器端执行的脚本语言,在 PHP 的 8.3.8 版本之前存在命令执行漏洞,由于 Windows 的 “Best-Fit Mapping” 特性,在处理查询字符串时,非ASCII字符可能被错误地映射为破折号(-),导致命令行参数解析错误,当 php_cgi 运行在Windows平台上,且代码页为繁体中文、简体中文或日文时,攻击者可以通过特定的查询字符串注入恶意参数,从而执行任意代码。
CVSS core: 9.8
FOFA查询语句:app=“php-CGI”
漏洞危害:攻击者可以通过特定的查询字符串注入恶意参数,从而执行任意代码,以至于接管服务器。
危害等级:高
影响版本:
PHP 8.3 < 8.3.8
PHP 8.2 < 8.2.20
PHP 8.1 < 8.1.29
其他版本官方已停止维护,可根据实际情况采取相应的措施
解决方案:
1.更新到PHP官方发布的最新PHP版本:https://www.php.net/downloads
2.对于无法升级PHP的用户:以下重写规则可用于阻止攻击。需要注意的是,这些规则仅对繁体中文、简体中文和日语语言环境起到临时缓解作用。在实际操作中,仍然建议更新到补丁版本或迁移架构。
RеԝritеEnɡinе On
RеԝritеCоd %{QUERY_STRING} ^%аd [NC]
RеԝritеRulе .? - [F,L]
3.对于使用 XAMPP fоr Windоԝѕ 的用户:如果确认不需要 PHP CGI 功能,可以通过修改以下 Aрасhе H
TTP Sеrvеr 配置(httpd-xampp.conf )来避免受到该漏洞的影响:
找到相应的行:ScriptAlias /php-cgi/ "C:/xampp/php/"
并将其注释掉:# ScriptAlias /php-cgi/ "C:/xampp/php/"