【漏洞复现】PHP CGI Windows平台远程代码执行漏洞(CVE-2024-4577)

admin 2024年6月9日00:45:24评论103 views字数 1159阅读3分51秒阅读模式

【漏洞复现】PHP CGI Windows平台远程代码执行漏洞(CVE-2024-4577)

漏洞描述:

PHP是一种在服务器端执行的脚本语言,在 PHP 的 8.3.8 版本之前存在命令执行漏洞,由于 Windows 的 "Best-Fit Mapping" 特性,在处理查询字符串时,非ASCII字符可能被错误地映射为破折号(-),导致命令行参数解析错误,当 php_cgi 运行在Windows平台上,且代码页为繁体中文、简体中文或日文时,攻击者可以通过特定的查询字符串注入恶意参数,从而执行任意代码。

漏洞复现:

1.访问漏洞环境

【漏洞复现】PHP CGI Windows平台远程代码执行漏洞(CVE-2024-4577)

2.漏洞利用

【漏洞复现】PHP CGI Windows平台远程代码执行漏洞(CVE-2024-4577)

【漏洞复现】PHP CGI Windows平台远程代码执行漏洞(CVE-2024-4577)

影响范围:

PHP 8.3 < 8.3.8

PHP 8.2 < 8.2.20

PHP 8.1 < 8.1.29

注:该漏洞影响安装于Windows系统上的PHP版本,由于PHP 8.0 分支、PHP 7 以及PHP 5 官方已不再维护,网站管理员可查看是否受该漏洞影响并应用相关缓解措施。

安装系统为Windows

存在 cgi-bin/php-cgi.exe 文件

修复方案:

将组件 php 升级至 8.3.8 及以上版本

将组件 php 升级至 8.2.20 及以上版本

将组件 php 升级至 8.1.29 及以上版本
升级版本
目前该漏洞已经修复,受影响用户可升级到PHP版本8.3.8、8.2.20、8.1.29或更高版本。

下载链接:

https://github.com/php/php-src/tags

临时措施:

Windows平台中Apache HTTP Server 加上PHP 组合、XAMPP for Windows安装的以下场景可能易受该漏洞影响:

1.将PHP 设定于CGI 模式下执行。在Apache Httpd 配置文件中通过Action语法将对应的HTTP 请求交给PHP-CGI脚本文件处理时,受此漏洞影响,常见设定包含但不限于:

AddHandler cgi-script.php

Action cgi-script "/cgi-bin/php-cgi.exe"

 或

<FilesMatch ".php$">

    SetHandler application/x-httpd-php-cgi

</FilesMatch>

Action application/x-httpd-php-cgi "/php-cgi/php-cgi.exe"

2.将PHP脚本文件暴露在外(XAMPP 预设安装设定)。将PHP 脚本文件暴露在CGI 目录下也受此漏洞影响,常见情况包含但不限于:

1) 将php.exe或php-cgi.exe复制到/cgi-bin/目录中

2) 将PHP 安装目录通过ScriptAlias暴露到外,如:

ScriptAlias /php-cgi/ "C:/xampp/php/"

缓解:

l.升级到最新的PHP 版本

2.清理并验证输入参数

3.使用安全配置设置来限制 CGI 参数处理

原文始发于微信公众号(飓风网络安全):【漏洞复现】PHP CGI Windows平台远程代码执行漏洞(CVE-2024-4577)

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年6月9日00:45:24
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   【漏洞复现】PHP CGI Windows平台远程代码执行漏洞(CVE-2024-4577)https://cn-sec.com/archives/2832242.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息