淘先锋技术网

首页 1 2 3 4 5 6 7

在IIS7.5中,PHP解析漏洞是一种常见的安全问题。简而言之,这种漏洞允许攻击者在服务器上执行任意PHP代码。这是一种非常危险的漏洞,因为它可以让攻击者绕过任何保护措施并获得对服务器的完全控制。

这种漏洞通常是由于不正确的服务器配置导致的。如果服务器在处理PHP文件时使用了不安全的默认设置,攻击者可以通过构造特定的请求来绕过安全性检查并执行任意代码。另外,如果服务器上运行的版本的PHP过旧,也可能存在安全漏洞。

假设我们有一个运行IIS7.5的Web服务器,我们想在上面运行PHP脚本。我们可以使用PHP for Windows安装程序来安装PHP,并按照说明进行配置。然而,如果我们不小心,我们可能会留下漏洞,这将威胁到我们的服务器的安全性。

php -v
PHP 5.6.40 (cli) (built: Jan  8 2019 23:08:05)

我们可以看到,这个服务器上安装了PHP版本5.6.40。如果我们查看当前配置,我们可能会发现默认配置将“cgi.force_redirect”设置为“1”。这个选项对于PHP的安全性非常重要,因为它可以确保攻击者不能直接执行PHP代码。

php -i | grep cgi.force_redirect
cgi.force_redirect =>1 => 1

如果攻击者了解这些默认设置,他们就可以构造特定的请求来绕过安全检查并在服务器上执行任意PHP代码。例如,攻击者可以使用“/?"作为查询字符串来调用PHP解析器,并执行任意代码。

http://example.com/index.php/?phpinfo();

为了修复这个漏洞,我们可以在php.ini文件中修改默认设置。将“cgi.force_redirect”设置为“0”可以防止攻击者绕过安全检查并在服务器上执行任意PHP代码。将此设置更改为“0”可以确保我们的服务器免受此漏洞的攻击。

[cgi]
...
; cgi.force_redirect is necessary to provide security running PHP as a CGI under
; most web servers.  Left undefined, PHP turns this on by default.  You can
; turn it off here AT YOUR OWN RISK
; **You CAN safely turn this off unless you specifically need this feature.**
; cgi.force_redirect = 1
cgi.force_redirect = 0

PHP解析漏洞是IIS7.5上的常见安全问题,但如果您遵循正确的安装和配置步骤,可以防止这些问题的发生。