tomcat 项目和如何禁止 forward:这种类似的非法请求

2016 年 7 月 27 日
 wudi343

http://www.****.com/forward:/WEB-INF/web.xml.htm

可以非法请求到这个 web.xml 配置文件,很少用 java 不知道怎么来屏蔽这种非法请求,谷歌搜了也没看到相关的资料。

各位 v 友有类似情况和解决办法吗?

2937 次点击
所在节点    问与答
14 条回复
xuhaoyangx
2016 年 7 月 27 日
没遇到过
SoloCompany
2016 年 7 月 27 日
这明显不是 tomcat 的锅,检查你用了啥框架
wudi343
2016 年 7 月 27 日
@SoloCompany 能不能直接把这种请求 ban 调
wudi343
2016 年 7 月 27 日
@SoloCompany 应该是 spring 我是运维不太可能能动他们的代码
SoloCompany
2016 年 7 月 27 日
1 直接给开发报 bug
2 在 nginx 上加过滤,对所有 forward: 前缀的请求 返回 400
SoloCompany
2016 年 7 月 27 日
如果希望不那么激进,可以退缩一下,仅仅对 forward:/WEB-INF/web.xml 开头的请求做限制,但,鬼知道会不会被绕过去;核心问题还是开发设计逻辑有问题,要他们赶紧处理
Infernalzero
2016 年 7 月 27 日
nginx 匹配路径拦截下就行了
wudi343
2016 年 7 月 27 日
@Infernalzero 没有 nginx ,就是 windows+tomcat 的环境。
wudi343
2016 年 7 月 27 日
@SoloCompany 第三方安全检测机构发来的报告只有这个 web.xml ,但是我测试了下几乎是可以遍历目录的,威胁很大。
shyling
2016 年 7 月 27 日
学到了 0 0
Infernalzero
2016 年 7 月 27 日
没用 nginx 或 apache 的话那就自己写个 Filter 或者 Interceptor 拦截吧
domty
2016 年 7 月 27 日
我记得 spring 是有对静态资源的访问限制的。
也就是说包括 webroot 目录或者 resource 目录下的文件都是可以拒绝访问的。
wudi343
2016 年 7 月 27 日
@domty 其实这个 htm 是后面加的,原来请求的是 web.xml ,但是直接写 http://www.****.com/forward:/WEB-INF/web.xml 会报错,加上.htm 就能读出文件了。
sutra
2016 年 7 月 28 日
给开发人员报告 bug 。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://study.congcong.us/t/295190

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX