我有一个在Tomcat上运行的Java Web App,应该在其上利用Path遍历漏洞。(在应用程序中)有一个部分,我可以在其中上传.zip文件,该文件将解压缩到服务器/tmp目录中。该.zip文件的内容未被检查,因此基本上我可以在其中添加任何内容。我尝试将.jsp文件放入其中,并且可以完美提取。我的问题是我不知道如何以浏览器的“普通”用户身份访问此文件。我尝试../../../tmp/somepage.jsp在地址栏中输入,但是Tomcat只是剥离../并给了我http://localhost:8080/tmp/不可用的资源。理想的情况是,如果我能以某种方式对../进行编码somepage.jsp以便将其提取到Web App的Web riot目录中。这可能吗?../提取后是否可能会有任何转义序列转换为?
/tmp
.zip
.jsp
../../../tmp/somepage.jsp
../
http://localhost:8080/tmp/
somepage.jsp
任何想法将不胜感激。 注意:这是安全课程中的一个学校项目,我应该在其中找到漏洞并予以纠正。不试图伤害任何人…
对不起,请投票。安全性非常重要,应该加以教导。
您是否传递了要使用的文件名?
服务器所做的检查可能类似于If location starts with "/tmp" then allow it。因此,您要通过`/tmp/../home/webapp/“吗?
If location starts with "/tmp" then allow it
另一个想法是看您是否可以制作一个zip文件来导致内容上移-就像您在zip文件名中设置“ ../”一样,会发生什么?如果您的zip工具不允许,您可能需要手动修改内容。