在给系统做安全检测的过程中,发现了一个低危安全性问题,检测到目标服务器启用了OPTIONS方法

OPTIONS方法是用于请求获得由Request-URI标识的资源在请求/响应的通信过程中可以使用的功能选项。通过这个方法,客户 端可以在采取具体资源请求之前,决定对该资源采取何种必要措施,或者了解服务器的性能。OPTIONS方法可能会暴露一些敏感 信息,这些信息将帮助攻击者准备更进一步的攻击。

解决方案一:单个项目生效
在项目中的web.xml配置,放在web.xml最后添加如下内容:

 <!-- 关闭不安全的HTTP方法 --><security-constraint><web-resource-collection><web-resource-name>http method security</web-resource-name><url-pattern>/*</url-pattern><http-method>PUT</http-method><http-method>DELETE</http-method><http-method>HEAD</http-method><http-method>OPTIONS</http-method><http-method>TRACE</http-method></web-resource-collection><auth-constraint/></security-constraint>

解决方案二:Tomcat中所有项目生效
在Tomcat服务器的web.xml上配置,路径tomcat/conf/web.xml。修改内容如下:

<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaeehttp://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"version="3.1"><!-- 以上是tomcat中本身存在,下面是新添加内容--><security-constraint><web-resource-collection><web-resource-name>http method security</web-resource-name><url-pattern>/*</url-pattern><http-method>PUT</http-method><http-method>DELETE</http-method><http-method>HEAD</http-method><http-method>OPTIONS</http-method><http-method>TRACE</http-method></web-resource-collection><auth-constraint/></security-constraint>

一般在Tomcat服务器中配置,单个项目配置本地调试没有问题,部署到Tomcat上依然会出现问题,还未找到原因。下面我们来看下配置前后的效果对比:

配置前:
配置后:

还是可以明显看到问题所在的,配置后禁止了页面信息的返回。配置前无信息返回是因为前端框架用的VUE,如果是JSP则会返回页面信息,这样就增加了安全风险。

下面对上面用到的配置元素做一个简单介绍:
<security-constraint> 中的子元素<http-method>是可选的,如果没有<http-method>元素,这表示将禁止所有 HTTP 方法访问相应的资源。<auth-constraint>子元素,其内容为空,表示所有身份的用户都被禁止访问相应的资源。如果没<auth-constraint>子元素,配置实际上是不起作用的。

还有一个<login-config>,这里我们没有用到,它和<security-constraint> 同级,配合<auth-constraint>使用,当访问服务器中受保护的资源时,容器管理的验证方法可以控制用户身份的确认方式。Tomcat支持四种容器管理的安全防护:

  • BASIC:通过HTTP验证,需要提供base64编码文本的用户口令
  • DIGEST:通过HTTP验证,需要提供摘要编码字符串的用户口令
  • FORM:在网页的表单上要求提供密码

------------本文结束感谢您的阅读------------

OPTIONS方法禁用相关推荐

  1. linux禁用options方法,WEB服务器启用OPTIONS方法汇总大全

    HTTP方法是在Web服务器上启用.选择的方法提供了一个清单,由Web服务器支持的方法,这是一个关于通信选项的请求URI标识的请求/响应链信息的请求.危害: 选项方法可能会暴露敏感信息,可能有助于恶意 ...

  2. [轻微]WEB服务器启用了OPTIONS方法/如何禁止DELETE,PUT,OPTIONS等协议访问应用程序/tomcat下禁用不安全的http方法...

    使用了360网站安全检测 查到有OPTIONS方法 百度了下 https://my.oschina.net/maliang0130/blog/338725 找到这个方法奈何http.conf 找不到无 ...

  3. 通过options探测服务器信息,WEB服务器启用了OPTIONS方法

    漏洞描述 攻击者可利用options方法获取服务器的信息,进而准备进一步攻击. 解决方案: 修改配置文件禁用options方法: windows2008.windows2012,请在wwwroot目录 ...

  4. 通过options探测服务器信息,OPTIONS 方法在跨域请求(CORS)中的应用

    OPTIONS 方法比较少见,该方法用于请求服务器告知其支持哪些其他的功能和方法.通过 OPTIONS 方法,可以询问服务器具体支持哪些方法,或者服务器会使用什么样的方法来处理一些特殊资源.可以说这是 ...

  5. python中options是什么意思_在OPTIONS方法中显示棉花糖模式的描述

    我试图在我的flask应用程序中实现一个路由,为给定资源的OPTIONS方法提供服务,并返回与所述资源相关联的棉花糖模式的描述.类似django的做法:{ "name": &quo ...

  6. Nginx配置OPTIONS方法请求直接返回204状态

    server {listen 80;server_name www.5isousuo.com www.liqinglin.cn www.5wwfu6.cn;index index.php index. ...

  7. Tomcat 安全漏洞 - 缓慢的HTTP拒绝服务攻击 / 启动了OPTIONS方法

    缓慢的HTTP拒绝服务攻击 slow_Http_DoS  原理:通过并发连接池进行的慢速读攻击(基于TCP持久时间)等.慢速攻击基于HTTP协议,通过精心的设计和构造,这种特殊的请求包会造成服务器延时 ...

  8. 12种方法禁用USB端口

    想要控制USB端口的数据传输,我们收集了目前可行的所有做法,总共归纳为3大类.12种方式. 第1大类是物理封锁,又可细分成完全禁用.弹性禁用,以及贴标签检查: 第2类是修改操作系统设定,从Window ...

  9. iis6 开启options方法_《王者荣耀》暗夜危机什么时候开启 暗夜危机开启时间

    导读 王者荣耀神秘关卡暗夜危机怎么进?许多玩家对于这个暗夜危机的关卡还不太熟悉,不知道如何开启,下面就让九游小编为大家带来,王者荣耀暗夜危机开启方法介绍. 王者荣耀神秘关卡暗夜危机怎么进? 峡谷异闻. ...

  10. win10,Net Share 共享,每次开机都会出现 --- 彻底关闭的方法---禁用server服务

    ■前言 最近电脑开机后总是蓝屏,尝试关闭各种服务 ■现象 即使删除共享,开机之后,还是会出现  ■解决 禁用server服务 ■效果

最新文章

  1. Java--日期的使用
  2. php一个星期没找到工作怎么办_高校开学推迟,校园招聘遥遥无期,还没找到工作的应届生怎么办?...
  3. python画图武汉加油-python实现“武汉加油”点阵字
  4. JavaWeb应用开发环境-Tomcat服务器
  5. 169. Majority Element
  6. 3.游戏优化(CCSpriteBatchNode)
  7. 记一次synchronized锁字符串引发的坑兼再谈Java字符串
  8. ykcchf 2013 v2.1101 最新版下载
  9. oracle安装pdb报错,oracle12安装后pdb创建的用户无法连接
  10. azure未连接_查找影响Azure成本的未使用资源
  11. Linux服务笔记之一:Telnet远程登录
  12. SharpDevelop--一款很不错的.NET开发工具
  13. java时区_Java时区
  14. php自动加载规范 PSR4 (Thinkphp)
  15. 偷懒才能编程序——计算机达人成长之路(18)
  16. Live2D在Unity中的使用
  17. Bootstrap教程(基于Bootstrap3)~~~一文完结系列
  18. iOS 画板 涂鸦 答题
  19. 室内外地图切换(室内基于ibeacons三点定位)
  20. neko虚拟机对象文档与扩充

热门文章

  1. 云上PDF怎么删除页眉页脚_有办法了!批量删除多个Word页眉页脚
  2. php微信公众号样式模板下载,PHP微信公众平台自定义菜单
  3. 微信小程序自定义tabBar使用
  4. JavaScript中的随机数--随机点名器
  5. POJ1759Garland题解
  6. 编译小程序,开发者工具打开报错Cannot read property ‘createTextNode‘ of undefined或iphone机型无法预览
  7. chrome浏览器主页变成hao123
  8. VScode的代码截图插件CodeSnap
  9. Greedy 贪心算法
  10. Epsilon-Greedy算法