Nginx解析漏洞

颓废 2019年5月19日08:50:32评论586 views字数 741阅读2分28秒阅读模式
摘要

Nginx中的解析漏洞是由于PHP配置错误导致的
如果存在解析漏洞,会把图片的代码以乱码显示出来,如果不存在,那么会提示页面不存在,404页面等。

Nginx中的解析漏洞是由于PHP配置错误导致的


我们还可以简单的判断是否存在解析漏洞:

如果存在解析漏洞,会把图片的代码以乱码显示出来,如果不存在,那么会提示页面不存在,404页面等。


Nginx解析漏洞利用方式:

    /free.jpg/free.php

比如说现在free.jpg里的内容为:

Nginx解析漏洞

(free.jpg图片里的内容就是打印 php 服务器的配置信息)


其实这个解析漏洞很好理解的,大概是这个样子的:

首先,浏览器去访问了xxx.xxx.xxx/free.jpg会显示解析错误(因为PHP代码放到JPG里,肯定没办法解析的呀~),然后我们访问xxx.xxx.xxx/free.jpg/free.php,报了一个错误(不是404), 而这里free.jpg是文件而不是目录,free.php就根本不存在的文件,没有报404说明这里有戏。

大概一个流程就是这样的:

Nginx解析漏洞

这其中涉及到php的一个选项:cgi.fix_pathinfo,该值默认为1,表示开启。开启这一选项有什么用呢?看名字就知道是对文件路径进行“修理”。何谓“修理”?举个例子,当php遇到文件路径“/aaa.xxx/bbb.yyy/ccc.zzz”时,若“/aaa.xxx/bbb.yyy/ccc.zzz”不存在,则会去掉最后的“/ccc.zzz”,然后判断“/aaa.xxx/bbb.yyy”是否存在,若存在,则把“/aaa.xxx/bbb.yyy”当做文件“/aaa.xxx/bbb.yyy/ccc.zzz”,若“/aaa.xxx/bbb.yyy”仍不存在,则继续去掉“/bbb.yyy”,以此类推(某博客选的几段话,写的非常好~)

因为我没找到Nginx解析漏洞的靶机,所以先暂时先结束一下,等哪次我找到了,一定会拿来演示的!

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
颓废
  • 本文由 发表于 2019年5月19日08:50:32
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   Nginx解析漏洞http://cn-sec.com/archives/67889.html

发表评论

匿名网友 填写信息