现在一定还有很多网站用的nginx,自从N个月以前的nginx解析漏洞以来,现在差不多都修复了,一般语句都是这么写的

if ( $fastcgi_script_name ~ ..*/.*php ) {
return 403;
}

当匹配*/*.php*的时候则返回403

但是有些fastcgi配置的却不只有.php,有些甚至配置了ph*,(网上有一篇文章就是这么写的)

这样.ph*就没法匹配.php*也就又引发漏洞

此bug是我一个朋友Clouds发现的,

解决方法就是看fastcgi配置文件来设置要deny掉的文件后缀

在有些特定的时候,还可以用robots.txt/1.PhP

例如

if ( $fastcgi_script_name ~ ..*/.*ph* ) {
return 403;
}

不过最好的方法还是cgi.fix_pathinfo=0

转载请注明来自WebShell'S Blog,本文地址:https://www.webshell.cc/1260.html