Tomcat禁用OPTIONS协议

冷冷七弦上,静听松风寒
最近我们平台的项目被送去扫描漏洞,在测试结果中,其中有一项漏洞是: 启用了OPTIONS方法:攻击者可以发送OPTIONS方法,从系统的响应中获得系统已启用的HTTP方法列表
解决方案:
你可以在项目的web.xml或者tomcat服务器的web.xml上配置,不同在于,配置项目只是对本项目起作用,配置在tomcat上,是对tomcat下的所有项目均起作用;
打开tomcat–>conf–>web.xml 文件:
这里写图片描述
把图中红框中的部分替换为:


然后在下面追加:

/*PUTDELETEHEADOPTIONSTRACEBASIC

元素里面的的协议即是要被禁止的协议类型;
看效果:
用命令测:

curl -v -X OPTIONS http://localhost:8080/login.jsp

在没有禁止前,测试结果如下图:
这里写图片描述
很明显可以看到把页面的内容全部直接返回了,这是很危险的;
替换了Tomcat下的web.xml之后再测试,结果如下:
这里写图片描述
效果一目了然;
接下来,简单解释一下上面各参数:
的子元素 是可选的,如果没有 元素,这表示将禁止所有 HTTP 方法访问相应的资源。
子元素 需要和 相配合使用,但可以被单独使用。如果没有 子元素,这表明任何身份的用户都可以访问相应的资源。也就是说,如果 中没有 子元素的话,配置实际上是不起中用的。如果加入了 子元素,但是其内容为空,这表示所有身份的用户都被禁止访问相应的资源。

对于:
当访问服务器中受保护的资源时,容器管理的验证方法可以控制确认用户身份的方式。Tomcat支持四种容器管理的安全防护,它们是:

  1. BASIC(基本验证):通过HTTP验证,需要提供base64编码文本的用户口令
  2. DIGEST(摘要验证):通过HTTP验证,需要提供摘要编码字符串的用户口令
  3. FORM(表单验证):在网页的表单上要求提供密码
  4. CLIENT-CERT(客户端证书验证):以客户端证书来确认用户的身份

参考至:https://blog.csdn.net/lisheng19870305/article/details/40819481
https://my.oschina.net/u/2419285/blog/1591406


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部