漏洞说明
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,可以看到上传页面
上传带有phpinfo的脚本文件,使用burp抓取目标HTTP请求包,因为采取黑名单限制,所以上传文件失败
于是上传图片马.jpg[空格],上传成功,显示路径
将上传的jpg文件作为php解析,利用未编码的空格和截止符进行构造,访问http://your-ip:8080/uploadfiles/test.jpgAAAphp,使用burp抓取目标文件,将AAA分别更改为20(空格)、00(截止符)和2e(分隔符)
发送请求,成功解析
本文始发于微信公众号(亿人安全):Nginx文件名逻辑漏洞(CVE-2013-4547)
免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论