【Nginx】Nginx 文件名逻辑漏洞(CVE-2013-4547)

本文详细介绍了Nginx的CVE-2013-4547漏洞,该漏洞源于URL解析错误,允许权限绕过和代码执行。影响版本为Nginx 0.8.41 ~ 1.4.3 / 1.5.0 ~ 1.5.7。通过环境搭建和漏洞复现步骤,展示了如何利用文件名中的空格和零截断符来规避黑名单过滤,使PHP处理器执行图片文件,从而触发漏洞。

 所谓智慧,就是孤独者在人声鼎沸的市场上对自己的窃窃私语。——尼采

漏洞介绍

这个漏洞实和代码执行没有太大的关系,主要原因是错误地解析了请求的URL,错误地获取到用户请求的文件名,导致出现权限绕过、代码执行的连带影响。

漏洞影响

Nginx 0.8.41 ~ 1.4.3 / 1.5.0 ~ 1.5.7 范围较广

环境搭建

使用vulhub复现漏洞

cd vulhub/nginx/CVE-2013-4547
docker-compose up -d

漏洞复现

访问 http://192.168.37.128:8080

 环境搭建成功

我们先看看后端代码

可以看到,是黑名单过滤,不能上传.php文件。

burp抓包,我们上传一张图片码123.png[空格]

注意:如果是windows服务器则不需要文件名后面带空格,因为windows创建文件名或查找文件名时,默认会去掉文件名后的空格,再执行操作。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值