启用了不安全的HTTP方法

安全风险:
可能会在Web 服务器上上载、修改或删除Web 页面、脚本和文件。
可能原因:
Web 服务器或应用程序服务器是以不安全的方式配置的。
修订建议:
如果服务器不需要支持WebDAV,请务必禁用它,或禁止不必要的HTTP 方法。

方法简介:
除标准的GET和POST方法外,HTTP请求还使用其他各种方法。许多这类方法主要用于完成不常见与特殊的任务。如果低权限用户可以访问这些方法,他们就能够以此向应用程序实施有效攻击。以下是一些值得注意的方法:

PUT向指定的目录上载文件
DELETE删除指定的资源
COPY将指定的资源复制到Destination消息头指定的位置
MOVE将指定的资源移动到Destination消息头指定的位置
SEARCH在一个目录路径中搜索资源
PROPFIND获取与指定资源有关的信息,如作者、大小与内容类型
TRACE在响应中返回服务器收到的原始请求

问题是这样描述的:
检查原始测试响应的“Allow”头,并验证是否包含下列一个或多个不需要的选项:DELTE,SEARCE,COPY,MOVE,PROPFIND,PROPPATCH,MKCOL,LOCK,UNLOCK,PUT。

响应头信息如下:
这里写图片描述

我们首先了解一下这几个方法的由来:HTTP1.0定义了三种请求方法: GET, POST 和 HEAD方法;HTTP1.1新增了五种请求方法:OPTIONS, PUT, DELETE, TRACE 和 CONNECT 方法。
WebDAV完全采用了HTTP1.1的方法,扩展了一些方法,并扩展了一些其他方法:

Options、Head、Trace:主要由应用程序来发现和跟踪服务器支持和网络行为;

Get:检索文档;

Put和Post:将文档提交到服务器;

Delete:销毁资源或集合;

Mkcol:创建集合

PropFind和PropPatch:针对资源和集合检索和设置属性;

Copy和Move:管理命名空间上下文中的集合和资源;

Lock和Unlock:改写保护

很显然上述操作明细可以对web服务器进行上传、修改、删除等操作,对服务造成威胁。虽然WebDAV有权限控制但是网上一搜还是有攻击方法,所以如果不需要这些方法还是建议直接屏蔽就好了。

下面就来详细说一下解决方案:
最简单的方式就是修改WEB应用的web.xml部署文件。在里面插入下面几行代码就搞定了,把需要屏蔽的方法加在里面。如果应用包比较多也没必要一个个改,直接修改Tomcat的web.xml就可以了,这样在Tomcat中运行的实例都会有效。

        <security-constraint>
            <web-resource-collection>
                <web-resource-name>fortune</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></auth-constraint>
        </security-constraint>

    <security-constraint>用于限制对资源的访问;

    <auth-constraint>用于限制那些角色可以访问资源,这里设置为空就是禁止所有角色用户访问;

    <url-pattern>指定需要验证的资源

    <http-method>指定那些方法需要验证

重启服务再验证就不会存在这个问题了。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值