CVE-2019-5418

本文介绍了一个存在于Ruby on Rails中的路径穿越漏洞,该漏洞允许攻击者通过构造特定的HTTP请求头来读取服务器上的任意文件。文章详细解释了漏洞原理,并演示了如何利用此漏洞读取/etc/passwd文件。

一.漏洞介绍

Ruby on Rails[1]是一套使用 Ruby 开发的,非常有生产力、维护性高、容易布署的Web 开发框架,是全世界 Web 应用程式开发的首选框架之一。

每获取一个请求,Ruby On Rails就会使用Render file(没有指定参数)的渲染模式来渲染目标。这样就会在我们攻击的时候,将目标文件当做模板来渲染,然后返回给浏览器。
在控制器中通过render file形式来渲染应用之外的视图,且会根据用户传入的Accept头来确定文件具体位置。我们通过传入Accept: …/…/…/…/…/…/…/…/etc/passwd{{头来构成构造路径穿越漏洞,读取任意文件。

(通过“…/…/…/…/”来达到路径穿越的目的,然后再通过“{{”来进行模板查询路径的闭合,使得所要访问的文件被当做外部模板来解析。)

二.漏洞复现

复制vulfcus靶场中文件中的ip地址
在这里插入图片描述

访问chybeta文件进行抓包

将抓包得到的accept数据包进行修改为以下内容

Accept: ../../../../../../../../etc/passwd{{

漏洞复现成功,成功读取到passwd文件的内容:
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值