Ruby On Railds 路径遍历漏洞(CVE-2018-3760)
💡
原文中文,约1100字,阅读约需3分钟。
📝
内容提要
Ruby On Rails 的 Sprockets 3.7.1 及以下版本存在路径遍历漏洞(CVE-2018-3760),攻击者可通过二次解码访问任意文件,需掌握 URL 编码绕过技术以利用该漏洞。
🎯
关键要点
- Ruby On Rails 是著名的 Ruby Web 开发框架,使用 Sprockets 作为静态文件服务器。
- Sprockets 3.7.1 及以下版本存在路径遍历漏洞(CVE-2018-3760),攻击者可通过二次解码访问任意文件。
- 攻击者可以使用 %252e%252e/ 来访问根目录并读取或执行目标服务器上的任何文件。
- 复现流程包括搭建环境和攻击流程,推荐使用 vulfocus 靶场。
- 访问路径地址示例为 /assets/file:%2f%2f/etc/passwd,显示允许访问的路径白名单。
- 通过拼接可访问路径并使用 ../ 进行目录回溯,可以成功访问目标文件。
- 总结中强调要找对遍历的地方,并掌握 URL 编码绕过技术。
❓
延伸问答
Ruby On Rails 的路径遍历漏洞是什么?
Ruby On Rails 的 Sprockets 3.7.1 及以下版本存在路径遍历漏洞,攻击者可通过二次解码访问任意文件。
攻击者如何利用 CVE-2018-3760 漏洞?
攻击者可以使用 %252e%252e/ 来访问根目录并读取或执行目标服务器上的任何文件。
复现 Ruby On Rails 漏洞的步骤是什么?
复现步骤包括搭建环境(推荐使用 vulfocus 靶场)和访问特定路径进行攻击。
如何通过 URL 编码绕过路径限制?
通过拼接可访问路径并使用 ../ 进行目录回溯,同时进行 URL 编码,可以成功访问目标文件。
Sprockets 版本对漏洞的影响是什么?
Sprockets 3.7.1 及以下版本存在该漏洞,更新版本可能已修复此问题。
在利用漏洞时需要注意什么?
需要找对遍历的地方,并掌握 URL 编码绕过技术,避免错误的遍历导致无法访问。
➡️