Struts相对路径在7.0.78中变平,但在7.0.79中不变平,打破了Normalized

问题描述 投票:0回答:1

[我们从Spring Boot应用程序中的Struts 2操作返回一个@Result,该操作指定一个包含相对路径的位置,以便将同级目录中的jsp引用到应用程序其余部分的根。

@Result(name = "foo", location = "../../cat/bar.jsp")

这在Tomcat 7.0.78中有效,以StrictHttpFirewall.getFirewalledRequest的形式到达:

ApplicationHttpRequest.requestURI = "rootParent/cat/bar.jsp"

在Tomcat 7.0.79+中,不再发生这种拼合,当请求到达StrictHttpFirewall以检查url规范化时,它因为如下到达而被炸毁:

ApplicationHttpRequest.requestURI = "rootParent/root/WEB-INF/../../cat/bar.jsp"

我已经搜索了Apache 7 changelogsecurity fixes,看是否有可能导致这种情况发生,但什么也找不到。我尝试调整useRelativeRedirects Context属性,但是它似乎没有任何作用。在调试过程中,将我的头发拉出来,逐步通过过滤器链。任何帮助将不胜感激!

java spring tomcat struts2 tomcat7
1个回答
0
投票

所有这些相对路径经常出现在安全漏洞工具中,因此它们并不是一个好主意,您可能应该停止使用它们。

© www.soinside.com 2019 - 2024. All rights reserved.