CVE-2018-3760漏洞复现(任意文件读取)

本文详细介绍了Ruby On Rails框架中的CVE-2018-3760漏洞,该漏洞允许攻击者通过路径遍历技术读取服务器上的任意文件。影响版本包括4.0.0.beta7及更低,3.7.1及更低,2.12.4及更低。修复方案包括设置config.public_file_server.enabled = true以及应用补丁。文章还提供了漏洞复现步骤和环境配置。
摘要由CSDN通过智能技术生成

CVE-2018-3760漏洞复现(任意文件读取)

0x00 漏洞介绍

Ruby On Rails是一个著名的Ruby Web开发框架,它使用链轮作为开发环境中的静态文件服务器。Sprockets是一个编译和分发静态资源文件的Ruby库。
在Ruby 3.7.1和更低版本中,存在由辅助解码引起的路径遍历漏洞。攻击者可以使用%252e%252e/访问根目录并读取或执行目标服务器上的任何文件。

在这里插入图片描述

0x01漏洞原理

问题出在sprockets,它用来检查 JavaScript 文件的相互依赖关系,用以优化网页中引入的js文件,以避免加载不必要的js文件。
当访问如http://127.0.0.1:3000/assets/foo.js时,会进入server.rb:
rorbidden_request用来对path进行检查,是否包含…以防止路径穿越,是否是绝对路径:

0x02影响版本

4.0.0.beta7及更低版本
3.7.1及更低版本
2.12.4及更低版本。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

星球守护者

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值