Ruby On Rails漏洞(CVE-2019-5418)
Rails2019在控制器中通过render file形式来渲染应用之外的视图,且会根据用户传入的Accept头来确定文件具体的位置。
·
漏洞简介
Ruby on Rails(或者简称 Rails)是一个 Web 开发框架,使用 Ruby 编程语言开发。而2018主要是由于rails使用Sprockets作为静态文件服务器,在 Sprockets 3.7.1及之前版本中存在一个两次解码的路径穿越漏洞。而2019则主要是由于使用了为指定参数的render file来渲染应用之外的视图,修改访问某控制器的请求包,通过“…/…/…/…/”来达到路径穿越,再通过“{{”来进行模板查询路径的闭合,使得所要访问的文件被当做外部模板来解析。
漏洞复现
在控制器中通过render file形式来渲染应用之外的视图,且会根据用户传入的Accept头来确定文件具体的位置。
‘{{’闭合模板路径
将Accept的数据改为…/…/…/…/…/…/…/…/etc/passwd{{ 和…/…/…/…/…/…/…/…/etc/shadow
可以看到,通过路径穿越实现了任意文件读取。
更多推荐
已为社区贡献1条内容
所有评论(0)