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

  • A+
所属分类:安全文章

漏洞说明

2013年底,nginx再次爆出漏洞(CVE-2013-4547),此漏洞可导致目录跨越及代码执行,主要原因是nginx因为00截断错误地解析了请求的 URI ,将获取到用户请求的文件名解析为对应的脚本程序,导致出现权限绕过、代码执行等连带影响,从而实现getshell的过程。


影响版本

Nginx 0.8.41 ~ 1.4.3 / 1.5.0 ~ 1.5.7


环境搭建

docker-compose build

docker-compose up -d


漏洞复现

启动后,访问http://your-ip:8080,可以看到上传页面

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


上传带有phpinfo的脚本文件,使用burp抓取目标HTTP请求包,因为采取黑名单限制,所以上传文件失败

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


于是上传图片马.jpg[空格],上传成功,显示路径

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


将上传的jpg文件作为php解析,利用未编码的空格和截止符进行构造,访问http://your-ip:8080/uploadfiles/test.jpgAAAphp,使用burp抓取目标文件,将AAA分别更改为20(空格)、00(截止符)和2e(分隔符)

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


发送请求,成功解析

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




本文始发于微信公众号(亿人安全):Nginx文件名逻辑漏洞(CVE-2013-4547)

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: