Nginx 文件名逻辑漏洞(CVE-2013-4547)&解析漏洞
1.Nginx 文件名逻辑漏洞(CVE-2013-4547)
1. 漏洞描述
这个漏洞其实和代码执行没有太大关系,其主要原因是错误地解析了请求的URI,错误地获取到用户请求的文件名,导致出现权限绕过、代码执行的连带影响。
2. 影响版本
Nginx : 0.8.41 ~ 1.4.3 / 1.5.0 ~ 1.5.7
3. 环境搭建
参考上一篇
4.复现
1. 看一下响应包,符合Nginx 漏洞版本
2. 先上传一个2.gif 文件,抓包
3. 在2.gif后面加入空格,发送
4. 访问文件上传的路径,并抓包
5. 修改文件后缀
访问上传文件 2.gif[0x20]时,将文件修改为 2.gif[0x20][0x00].php
[0x20]为空格,[0x00]为\0(起到截断作用)
在uploadfiles/2.gif 后加入两个空格+.php
并修改第二个空格为0x00,发送
6. 成功解析出php代码
2.Nginx 解析漏洞复现
还有一个Ngix解析漏洞
参考链接
Ngix解析漏洞
影响范围:
Nginx 1.x 最新版
PHP 7.x最新版
由此可知,该漏洞与Nginx、php版本无关,属于用户配置不当造成的解析漏洞。
就是正常上传一个图片,会正常显示,但是如果你在图片地址后面增加 /.php后缀,会当作php文件解析,图片乱码
正常显示
增加**/.php**后缀,被解析成PHP文件:
这里就不在演示了