专栏首页玄魂工作室CVE-2019-5418:Ruby on Rails路径穿越与任意文件读取复现

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

本文作者:mai-lang-chai(Timeline Sec新成员)

本文共676字,阅读大约需要2分钟

0x00 简介


Ruby on Rails是一个 Web 应用程序框架,是一个相对较新的 Web 应用程序框架,构建在 Ruby 语言之上。它被宣传为现有企业框架的一个替代,而它的目标,就是让 Web 开发方面的生活,变得更轻松。

0x01 漏洞概述


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

0x02 影响版本


Rails 全版本

其中修复版本:

Rails 6.0.0.beta3,5.2.2.1,5.1.6.2,5.0.7.2,4.2.11.1

0x03 环境搭建


在线环境:

转发本文至朋友圈截图发至公众号内即可获得

自行搭建:

直接使用vulhub进行搭建

git clone https://github.com/vulhub/vulhub.gitcd /vulhub/rails/CVE-2019-5418docker-compose up -d

访问http://ip:3000即可看到

0x04 漏洞利用


请求robots,Burp抓包

修改Accept参数为任意文件地址,如:

../../../../../../etc/passwd{{

其他利用方法,使用msf中的攻击模块:

本文分享自微信公众号 - 玄魂工作室(xuanhun521)

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2019-11-12

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 利用Github+Jeklly搭建个人博客网站

    在上篇文章《个人博客如何选型?》中讲到,可以利用 Github Pages 来搭建个人博客网站,本文主要讲解其中的各种细节。

    叫我龙总
  • CentOS7下安装GitLab

    GitLab 是一个用于代码仓库管理系统的开源项目,使用Git作为代码管理工具,并在此基础上搭建起来的web服务

    yuanfan2012
  • 利用Github+Jeklly搭建个人博客网站

    在上篇文章《个人博客如何选型?》中讲到,可以利用 Github Pages 来搭建个人博客网站,本文主要讲解其中的各种细节。

    猴哥yuri
  • TIOBE 11月编程语言排行榜:前十为什么又变了!

    首先,C 现在非常接近 Java,排在 Java 后指数仅差 0.2%,预计年底之前 C 会再次冲上第一位;

    老九君
  • 使用redis-trib.rb搭建集群

    在上一篇中我们使用Gossip协议手动搭建了一个集群环境,在这一篇中我们使用redis-trib.rb工具搭建一个新集群,redis-trib.rb工具相比手动...

    吉林乌拉
  • 5 门正在奋力崛起的编程语言

    在软件项目与具体实现层面,我们需要考虑众多具体因素。但无论从哪种角度出发,技术栈的选择永远是决定项目成功与否的核心因素之一。根据您的实际应用需求、站点或者产品设...

    GitHubDaily
  • Webstorm编译scss文件[附CSS3前缀方法]

    该方法不仅适用于webstorm,还适用于Jetbrains家下的能写css所有的产品。比如:Phpstorm, PyCharm等等。

    无道
  • 服务器文件与数据库备份技术方案选型

    本文由腾讯云+社区自动同步,原文地址 https://stackoverflow.club/article/backup_your_server_data/

    羽翰尘
  • CocoaPods的安装使用

    CocoaPods 是一个负责管理 iOS 项目中第三方开源库的工具。CocoaPods 的项目源码在 GitHub上管理。 因为现在很多第三方框架都分为 C...

    honey缘木鱼

扫码关注云+社区

领取腾讯云代金券