Nginx中的解析漏洞是由于PHP配置错误导致的
我们还可以简单的判断是否存在解析漏洞:
Nginx解析漏洞利用方式:
/free.jpg/free.php
比如说现在free.jpg里的内容为:
(free.jpg图片里的内容就是打印出 php 服务器的配置信息)
其实这个解析漏洞很好理解的,大概是这个样子的:
首先,浏览器去访问了xxx.xxx.xxx/free.jpg会显示解析错误(因为PHP代码放到JPG里,肯定没办法解析的呀~),然后我们访问xxx.xxx.xxx/free.jpg/free.php,报了一个错误(不是404), 而这里free.jpg是文件而不是目录,free.php就根本不存在的文件,没有报404说明这里有戏。
大概一个流程就是这样的:
这其中涉及到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解析漏洞的靶机,所以先暂时先结束一下,等哪次我找到了,一定会拿来演示的!
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论