低版本php+nginx 解析漏洞

正文

事情要从某个午后说起,那时我正在日一个xx站,这个站nginx版本是1.6.2,php版本是5.3.3,开了GPC,我反复折腾了几天下来,有了数据库权限,有了任意文件下载,但是审了半天源码下来,审不出一个shell来,很绝望地上传了一个图片马,后面加了个/.php访问,它。。竟然执行了!?
5.png

6.png

它怎么能执行??不是小于<= 0.8.37么,这nginx版本咋能执行???

下图来自wooyun

2.jpg

这和说好的不一样喂????
1.jpg

群里吐槽了一番后ing,发现。。。这解析漏洞并不是nginx造成的问题,是因为php啊。。。。

4.png 3.jpg

php版本 <= 5.3.9的时候(之后版本里有security.limit_extensions配置限制),配合nginx(无论版本多高),在默认配置下(cgi.fix_pathinfo全版本php默认配置为开启),存在php解析漏洞。

元凶是php.ini中的cgi.fix_pathinfo,nginx完成一次助攻。。。

5.jpg

由于这个解析漏洞被官方认为是特性而不是漏洞,所以没有cve。。。。

btw:在本机测试的时候,发现phpstudy全版本nginx+php存在这个解析漏洞。。。。这应该算是意外的惊喜。

reference

http://drops.xmd5.com/static/drops/papers-539.html 解析漏洞总结

http://www.laruence.com/2010/05/20/1495.html Nginx + PHP CGI的一个可能的安全漏洞

http://www.cnblogs.com/buffer/archive/2011/07/24/2115552.html PHP CGI 中 fix_pathinfo 引起的安全隐患

https://taobig.org/?p=650 php.ini中的cgi.fix_pathinfo选项

https://bugs.php.net/bug.php?id=55181

×

你要赏我吃糖果吗?

扫码支持
扫码打赏,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

文章目录
  1. 1. 正文
  2. 2. reference
,
隐藏