CVE-2018-3760漏洞复现(任意文件读取)
0x00 漏洞介绍
Ruby On Rails是一个著名的Ruby Web开发框架,它使用链轮作为开发环境中的静态文件服务器。Sprockets是一个编译和分发静态资源文件的Ruby库。 在Ruby 3.7.1和更低版本中,存在由辅助解码引起的路径遍历漏洞。攻击者可以使用%252e%252e/访问根目录并读取或执行目标服务器上的任何文件。
问题出在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及更低版本。
0x03 漏洞修护在Rails应用程序中,解决此问题,设置config.