security - 利用和纠正路径遍历漏洞

标签 security jsp tomcat path traversal

我有一个在 Tomcat 上运行的 Java Web 应用程序,我应该在该应用程序上利用路径遍历漏洞。有一个部分(在应用程序中),我可以在其中上传 .zip 文件,该文件会在服务器的 /tmp 目录中提取。 .zip 文件的内容没有被检查,所以基本上我可以在其中放入任何内容。我尝试将 .jsp 文件放入其中,它可以完美提取。我的问题是我不知道如何作为“普通”用户从浏览器访问此文件。我尝试在地址栏中输入 ../../../tmp/somepage.jsp ,但 Tomcat 只是删除 ../ 并给我 http://localhost:8080/tmp/ 资源不可用。 理想的情况是,我可以以某种方式在 somepage.jsp 的路径中对 ../进行编码,以便将其提取到 Web 应用程序的 web riot 目录中。这可能吗?是否有任何转义序列在提取后会转换为 ../

任何想法都将受到高度赞赏。
注意:这是安全类(class)中的一个学校项目,我应该在其中找到漏洞并纠正它们。无意伤害任何人...

最佳答案

对反对票表示抱歉。安全非常重要,应该进行教导。

是否传入要使用的文件名?

服务器所做的检查可能类似于如果位置以“/tmp”开头,则允许它。那么你想要做的是传递`/tmp/../home/webapp/"?

另一个想法是看看你是否可以制作一个 zip 文件,从而将内容向上移动 - 就像如果你在 zip 内的文件名中设置“../”,会发生什么?如果您的 zip 工具不允许,您可能需要手动修改内容。

关于security - 利用和纠正路径遍历漏洞,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19504327/

相关文章:

java - 我收到一个没有提取数据的空 html/jsp 表

java - 如何从jsp编写.properties文件

java - 中止 Tomcat 启动

java - JRE如何才能让Tomcat处理JSP文件呢?为什么不是JDK?

ruby - $SAFE = 4 的 ruby​​ 中可能存在哪些漏洞?

javascript - 未剥离 AngularJS JSON 漏洞保护

带有 x509 安全证书的 ASP.NET Web API

java - 处理JSP中复杂的HashMap显示

测试和部署中的 Javascript 不同的 ajax url

security - 用于限制访问的 Azure 共享访问签名