Ruby On Railds 路径遍历漏洞(CVE-2018-3760)
内容提要
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 编码绕过技术。
延伸解读
漏洞影响范围
Sprockets 3.7.1及以下版本的路径遍历漏洞可能影响大量使用Ruby On Rails的应用程序。开发者应尽快检查其使用的Sprockets版本,并考虑升级到安全版本,以防止潜在的攻击。
攻击方法解析
攻击者利用二次解码技术,通过构造特定的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 编码绕过技术,避免错误的遍历导致无法访问。