背景介绍
Ruby On Rails是一个著名的Ruby Web开发框架,它在开发环境中使用Sprockets作为静态文件服务器。Sprockets是一个Ruby库,用于编译和分发静态资源文件。
实训目标
1、学会根据漏洞编号查找漏洞详情;
2、了解Ruby On Rails(CVE-2018-3760)形成原理;
3、学习Ruby On Rails(CVE-2018-3760)利用方法;
解题方向
利用已知漏洞读取文件passwd
漏洞说明
Ruby On Rails在开发环境下使用Sprockets作为静态文件服务器,Ruby On Rails是著名Ruby Web开发框架,Sprockets是编译及分发静态资源文件的Ruby库。Sprockets 3.7.1及之前版本中,存在一处因为二次解码导致的路径穿越漏洞,攻击者可以利用%252e%252e/来跨越到根目录,读取或执行目标服务器上任意文件。
复现步骤
首先通过访问http://219.153.49.228:44360/assets/file:%2f%2f/etc/passwd
产生报错得到用户可以访问的路径。%2f 是 / 的URL编码。
%252e%252e/二次URL