我有一个Java webapp,它容易受到URL编码的目录横向(又名路径横向)攻击.经过身份验证后:
根据Servlet规范,WEB-INF文件夹不应该公开访问,但在某种程度上它适用于这种情况.我正在使用带有Java 1.4,Spring Security 2.0.5和Struts 1.3的Websphere 5.1.从我读到的,它似乎与编码有关,%c0%ae是'.' (点)UTF-8.
我在不同的webapp上尝试了相同的东西,它运行在不同的环境中(Tomcat 6与Java 7,Spring Security 3和Spring MVC),我无法重现这个问题.第二个webapp有一个过滤器强制编码UTF-8(org.springframework.web.filter.CharacterEncodingFilter
)中的页面,所以我在第一个webapp上尝试了相同的配置,但它没有做到这一点.有任何想法吗?
谢谢.
我要回答我自己的问题。
因此,由于我的选项有限,我最终所做的就是在 Spring Security 配置文件中添加一条安全规则,例如
<sec:intercept-url pattern="/**/WEB-INF/**" access="no-access"/>
Run Code Online (Sandbox Code Playgroud)
它将对 WEB-INF 的访问限制为“无访问”角色,而这实际上不是一个角色。这会阻止所有用户的访问。它并不理想,但在升级之前可以解决问题。
归档时间: |
|
查看次数: |
5193 次 |
最近记录: |