Skip to content

charis3306/CVE-2024-4577

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 

Repository files navigation

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

简介

PHP是Hypertext Preprocessor(超文本预处理器)的缩写,现是一种广泛使用的开源的脚本语言,它特别适合Web开发和嵌入HTML中,使用起来很简单。 CGI,英文叫做公共网关接口,就是Apache在遇到PHP脚本时会将PHP程序提交给CGI应用程序(php-cgi.exe)解释,解释之后的结果返回给Apache,然后再返回给相应的请求用户。

漏洞描述

PHP在设计时忽略了Windows中的Best-Fit字符转换特性。当PHP-CGI在Windows平台上运行并使用特定语系(如简体中文936、繁体中文950、日文932等)时,攻击者可以构造特殊查询字符串。URL解码后,这些字符串可能包含特定非ASCII字符,这些字符在Windows系统上会被映射为连字符,从而绕过CVE-2012-1823及CVE-2012-2311补丁,构造cgi模式的命令行参数,执行任意PHP代码

影响版本

PHP Windows版 8.3.0 <= 影响版本 < 8.3.8 PHP Windows版 8.2.0 <= 影响版本 < 8.2.20 PHP Windows版 8.1.0 <= 影响版本 < 8.1.29 PHP Windows版 影响版本 == 8.0.x PHP Windows版 影响版本 == 7.x PHP Windows版 影响版本 == 5.x XAMPP Windows版 8.2.0 <= 影响版本 <= 8.2.12 XAMPP Windows版 8.1.0 <= 影响版本 <= 8.1.25 XAMPP Windows版 影响版本 == 8.0.x XAMPP Windows版 影响版本 == 7.x XAMPP Windows版 影响版本 == 5.x

使用

python CVE-2024-4577 --target http://192.168.1.1/index.php -c "<?php system('calc')?>"

alt text

修复

注释C:\xampp\apache\conf\extra\httpd-xampp.conf如下配置后重启服务

#
# 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>

注释C:/xampp/apache/conf/extra/httpd-xampp.conf

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

About

CVE-2024-4577 EXP

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages