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

2016-07-27 10:02:28 +08:00
 wudi343

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

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

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

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

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

https://www.v2ex.com/t/295190

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

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

© 2021 V2EX