临时修复方案是:
if ( $fastcgi_s cript_name ~ \..*\/.*php ) { return 403; }
而新漏洞的利用方式是: /test.jpg%00.php
对应fastcgi_s cript_name的匹配正则,我们会发现是匹不到这个漏洞的,所以非常杯具,以前被老nginx漏洞黑过的肉鸡还能被重新黑一次。
二.准确识别这个漏洞的方法.
一般这个漏洞需要在能够上传文件的应用中才能被利用,所以论坛首当其冲,象discuz论坛的两个文件就能非常方便的识别这个漏洞。
1.爆出PHP语法错误。
2.吃掉CGI #注释的第一行。
<*参考 https://nealpoole.com/blog/2011/07/possible-arbitrary-code-execution-with-null-bytes-php-and-old-versions-of-nginx/
修复方法:升级Nginx,这个天经地易,没什么好说的。