CVE-2019-5418(Ruby on Rails路径穿越与任意文件读取漏洞)

CVE-2019-5418:Ruby on Rails路径穿越与任意文件读取漏洞

1.原理

Ruby on Rails(或者简称 Rails)是一个 Web 开发框架,使用 Ruby 编程语言开发。而2018主要是由于rails使用Sprockets作为静态文件服务器,在 Sprockets 3.7.1及之前版本中存在一个两次解码的路径穿越漏洞。而2019则主要是由于使用了为指定参数的render file来渲染应用之外的视图,修改访问某控制器的请求包,通过“…/…/…/…/”来达到路径穿越,再通过“{{”来进行模板查询路径的闭合,使得所要访问的文件被当做外部模板来解析。

2.环境搭建

在ubuntu上搭建好vulhub环境,然后使用以下命令搭建环境

docker-compose up -d

在这里插入图片描述
使用以下命令查看是否搭建成功

docker ps -a

在这里插入图片描述
访问ubuntu的IP:3000(环境搭建成功)
在这里插入图片描述

3.漏洞复现

访问IP:3000/robots,并使用burpsuite进行截数据包。
在这里插入图片描述
将Accept的数据改为…/…/…/…/…/…/…/…/etc/passwd{{ 和…/…/…/…/…/…/…/…/etc/shadow
可以看到,通过路径穿越实现了任意文件读取。
在这里插入图片描述
在这里插入图片描述

4.漏洞修复

1.升级
2.禁止接受accept任意的type

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值