漏洞简介:
Ruby on Rails是一个web应用程序框架,是相对较新的web应用程序框架
构建在Ruby语言上
威胁类型
远程代码执行,任意文件读取
威胁等级
高
漏洞编号
CVE-2019-5418
受影响系统及应用版本
Rails全版本
其中修复版本
6.0.0.beta3,
5.2.2.1
5.1.6.2
5.0.7.2
4.2.11.1
漏洞复现:
1、搭建环境
Ruby On Rails环境建设
1、安装git
2、安装rbenv到〜/ .rbenv目录
3、安装rbenv的插,用于编译安装ruby
4、用来管理 gemset, 可选, 因为有 bundler 也没什么必要
5、通过 gem 命令安装完 gem 后无需手动输入 rbenv rehash 命令
6、通过 rbenv update 命令来更新 rbenv 以及所有插件
7、使用 Ruby China 的镜像安装 Ruby, 国内用户推荐
8、然后需要将下面两句代码放在bash的配置文件中:
9、执行下面的命令使其生效
source ~/.bashrc
10、安装ruby
在demo路径下执行“rails s”,开启服务
指定9876端口
访问“chybeta”路径:
我们使用浏览器自带的开发者工具进行漏洞复现,按“f12”打开工具,修改这条请求,修改内容如下:
漏洞复现成功,成功读取到passwd文件的内容:
2、修复建议
使用已经修复该漏洞的版本
参考链接:https://www.sohu.com/a/306334931_354899
ps:参考链接这篇文章讲解的非常细,对我在本漏洞复现过程中的理解有很大帮助,先给大佬跪了。