在CVE-2024-4577的poc中可以看到多了一个参数选项cgi.force_redirect。因为PHP增加了一个默认开启的配置cgi.force_redirect=1,仅允许通过重定向规则的请求来执行PHP CGI,不允许直接访问执行,要绕过这一特性,可以采取以下方法: 既然已经通过-d参数成功修改了其他配置,那么同样可以直接使用-d参数将cgi.force_redirect的...
简单来说,这个漏洞发生在 PHP-CGI 解析 HTTP 请求的 query string(URL 中的查询参数部分) 时。如果 query string 中包含了 PHP-CGI 的配置指令,这些指令可能会被错误地解释和执行。这通常是因为 PHP-CGI 在处理 CGI 参数时没有正确地进行过滤或转义。 2.字符编码的Best Fit特性 在Windows系统上,字符编码的Bes...
ScriptAlias指令的作用是将/php-cgi/路径指向C:/Users/Administrator/Desktop/xmp/php/目录,Action指令的作用就是将所有对.php文件的请求都使用/php-cgi/php-cgi.exe,也就是C:/Users/Administrator/Desktop/xmp/php/php-cgi.exe来执行。 apache在调用cgi时会查看环境变量REDIRECT_STATUS,而php-cgi为了确认是由apache...
从漏洞补丁可以看出,如果检测到字符串开头为"-"字符并且字符串不存在"="字符就设置skip_getopt = 1,那么整个查询字符串将作为CGI的参数进行传递,攻击者可以向后端的php-cgi解析程序提交恶意数据,php-cgi会将恶意数据当做php参数直接执行。
CVE-2024-4577是一个影响在Windows平台上运行的PHP CGI的远程代码执行漏洞。 漏洞的存在是因为PHP在设计时未能预见到Windows的Best-Fit字符编码转换特性,这使得攻击者可以通过构造特定的请求来绕过安全限制。受影响的环境包括使用特定语系设置的Windows系统,如简体中文(936)、繁体中文(950)和日文(932)。 0x01 影响范围...
回顾CVE-2012-1823漏洞,该漏洞是用户将HTTP请求参数提交至Apache服务器,通过mod_cgi模块交给php-cgi处理,从漏洞补丁可以看出,如果检测到字符串开头为"-“字符并且字符串不存在”="字符就设置skip_getopt = 1,那么整个查询字符串将作为CGI的参数进行传递,攻击者可以向后端的php-cgi解析程序提交恶意数据,php-cgi会将...
漏洞描述: PHP是一种在服务器端执行的脚本语言,在 PHP 的 8.3.8 版本之前存在命令执行漏洞,由于 Windows 的“Best-Fit Mapping” 特性,在处理查询字符串时,非ASCII字符可能被错误地映射为破折号(-),导致命令行参数解析错误,当 php_cgi 运行在Windows平台上,且代码页为繁体中文、简体中文或日文时,攻击者可以通过...
漏洞描述: PHP是一种在服务器端执行的脚本语言,在 PHP 的 8.3.8 版本之前存在命令执行漏洞,由于 Windows 的“Best-Fit Mapping” 特性,在处理查询字符串时,非ASCII字符可能被错误地映射为破折号(-),导致命令行参数解析错误,当 php_cgi 运行在Windows平台上,且代码页为繁体中文、简体中文或日文时,攻击者可以通过...
漏洞介绍 这个漏洞简单来说,就是用户请求的querystring(querystring字面上的意思就是查询字符串,一般是对http请求所带的数据进行解析,这里也是只http请求中所带的数据) 被作为了php-cgi的参数,最终导致了一系列结果。 影响范围: 漏洞影响版本 php < 5.3.12 or php < 5.4.2 ...
该漏洞仅影响 PHP 的 CGI 模式。在此模式下,Web 服务器解析 HTTP 请求并将其传递给 PHP 脚本,然后脚本对其进行一些处理。例如,查询字符串被解析并传递给命令行上的 PHP 解释器 - 例如,诸如 as 的请求 http://h…