[CVE-2013-4547]Nginx 文件名逻辑漏洞复现

CVE-2013-4547是Nginx中间件的一个文件名解析漏洞


影响版本:

2013年底,nginx再次爆出漏洞(CVE-2013-4547),此漏洞可导致目录跨越及代码执行,

其影响版本为: Nginx 0.8.41 ~ 1.4.3 / 1.5.0 ~ 1.5.7,范围较广。


利用原理:[20][00]绕过nginx逻辑验证


利用方式:

1、docker-compose up -d
2、1.jpg内容为:<?php phpinfo();?>,上传抓包1.jpg,把1.jpg改为1.jpg[20]
3、访问地址:http://127.0.0.1/uploadfiles/1.jpg抓包
改为http://127.0.0.1/uploadfiles/1.jpg[20][00].php发现漏洞利用成功

注明:在Windows环境下由于命名文件时不允许文件后缀末尾存在空格所以自动将其修复为1.jpg,这种情况下我们只需要上传一张包含代码的名字为1.jpg的文件就可以利用漏洞了。但是在Linux情况下情况就不一样了。在Linux环境中由于允许文件后缀名最后存在空格所以我们需要确保我们传过去的文件名为1.jpg[20]


tips:linux下应该是难利用 因为1.jpg[20] 需要有空格那也有是黑名单 那就会发现根本不需要利用这个漏洞来实现getshell 有许多后缀名都可以绕过 但是这个漏洞在Windows环境下的利用价值就大大增强了,因为漏洞利用的前置条件”文件名末尾带空格的文件”不再需要。Windows下的API在读取文件时,会自动忽略对应文件名后的空格,也就是:
read “a.txt ” -> 实际读取的是文件”a.txt”
write “b.txt ” -> 实际写的是文件”b.txt”


漏洞分析

https://blog.csdn.net/Blood_Pupil/article/details/88565176
http://www.lenky.info/archives/2016/04/2488

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值