当前位置: 首页 > news >正文

十二、【漏洞复现】Rails任意文件读取(CVE-2019-5418)

十二、【漏洞复现】Rails任意文件读取(CVE-2019-5418)

12.1、漏洞原理

Ruby on Rails是一个使用 Ruby 语言写的开源 Web 应用框架,它是严格按照 MVC 结构开发的。它努力使自身保持简单,来使实际的应用开发时的代码更少,使用最少的配置。Rails在开发环境下使用Sprockets作为静态文件服务器,Sprockets是编译及分发静态资源文件的Ruby库。在Sprockets部分版本中因为二次解码导致的路径穿越漏洞,攻击者可以利用该漏洞来跨越到根目录,读取或执行目标服务器上任意文件。 

12.2、影响范围

4.0.0.beta7 及更低版本、

3.7.1 及更低版本、

2.12.4 及更低版本。 

12.3、指纹识别

12.4、漏洞复现

  1. 访问/chybeta路径并进行抓包

  1. 在Accept构造../../../../../../../../etc/passwd{{

3.flag位置:../../../../../../../../proc/self/environ{{

12.5、漏洞修复

1、升级版本

Rails任意文件读取漏洞(CVE-2019-5418)已经被修复。要修复此漏洞,您需要升级到Rails版本6.0.3.2更高版本。如果您无法立即升级,请考虑使用以下两种方法之一进行临时修复:

  1. 您可以在应用程序的路由配置文件中添加一个过滤器,限制对危险请求的访问。您可以使用以下代码片段将过滤器添加到config/routes.rb文件中:
ActionDispatch::Routing::Routes.draw do |map|# ... 其他路由配置 ...map.get '/path/to/vulnerable/file', controller: 'vulnerable', action: 'index'map.get '/path/to/safe/file', controller: 'safe', action: 'index'map.get '/*path', controller: 'vulnerable', action: 'invalid_request'
end
  1. 您还可以使用安全性补丁gem,如"safe_yaml"来过滤用户提供的参数,以防止路径穿越攻击。您可以在Gemfile中添加以下行来安装"safe_yaml":
gem 'safe_yaml', '~> 1.0.5'

然后运行bundle install命令以安装该gem。

http://www.lryc.cn/news/182768.html

相关文章:

  • 【计算机视觉|人脸建模】学习从4D扫描中获取的面部形状和表情的模型
  • 【ADB】蓝牙总结
  • 嵌入式系统设计与应用---ARM处理器体系结构(学习笔记)
  • 计算机竞赛 身份证识别系统 - 图像识别 深度学习
  • StarRocks数据导入
  • JavaSE | 初识Java(一) | JDK \ JRE \ JVM
  • 6轮面试阿里Android开发offer,薪资却从21k降到17k,在逗我?
  • 基于混合蛙跳优化的BP神经网络(分类应用) - 附代码
  • [架构之路-230]:计算机硬件与体系结构 - 可靠性、可用性、稳定性;MTTF、MTTR、MTBF
  • selenium自动化测试环境安装教程
  • 如何修改springboot项目启动时的默认图标?
  • 基于阴阳对优化的BP神经网络(分类应用) - 附代码
  • Spring bean定义Spring Bean 的作用域
  • 代码随想录 动态规划 part16
  • 非 Prop 的属性
  • 初识Java 12-3 流
  • 代码随想录算法训练营第42天|动态规划:01背包理论基础、动态规划:01背包理论基础(滚动数组)、416. 分割等和子集
  • (详解)Linux常见基本指令(1)
  • 紫光同创FPGA图像视频采集系统,提供2套PDS工程源码和技术支持
  • 第一章 函数 极限 连续(解题方法须背诵)
  • selenium +IntelliJ+firefox/chrome 环境全套搭配
  • CentOS 7 停止维护后如何平替你的生产系统?
  • 第81步 时间序列建模实战:Adaboost回归建模
  • 135.【JUC并发编程_01】
  • VC++创建windows服务程序
  • 连续爆轰发动机
  • 交通物流模型 | 基于时空注意力融合网络的城市轨道交通假期短时客流预测
  • 2.2.1 嵌入式工程师必备软件
  • 深入了解 RabbitMQ:高性能消息中间件
  • 【数据库——MySQL】(14)过程式对象程序设计——游标、触发器