不安全的HTTP方法

常见的HTTP请求方法是GET、POST和HEAD。但是,其实除了这两个之外,HTTP还有一些其他的请求方法。

WebDAV (Web-based Distributed Authoring and Versioning) 一种基于 HTTP 1.1协议的通信协议。它扩展了HTTP 1.1,在GET、POST、HEAD等几个HTTP标准方法以外添加了一些新的方法,使应用程序可对Web Server直接读写,并支持写文件锁定(Locking)及解锁(Unlock),还可以支持文件的版本控制。

WebDAV虽然方便了网站管理员对网站的管理,但是也带来了新的安全风险!

    PUT:由于PUT方法自身不带验证机制,利用PUT方法可以向服务器上传文件,所以恶意攻击者可以上传木马等恶意文件。
    DELETE:利用DELETE方法可以删除服务器上特定的资源文件,造成恶意攻击。
    OPTIONS:将会造成服务器信息暴露,如中间件版本、支持的HTTP方法等。
    TRACE:可以回显服务器收到的请求,主要用于测试或诊断,一般都会存在反射型跨站漏洞

以下是WebDAV支持的HTTP请求方法。

方法      描述
GET       Get长度限制为1024,特别快,不安全,在URL里可见,URL提交参数以?分隔,多个参数用&连接,请求指定的页面信息,并返回实体主体。
HEAD      类似于get请求,只不过返回的响应中没有具体的内容,用于获取报头
POST      长度一般无限制,由中间件限制,较慢,安全,URL里不可见。请求的参数在数据包的请求body中
PUT       向指定资源位置上传其最新内容
DELETE    请求服务器删除指定的页面。
CONNECT   HTTP/1.1协议中预留给能够将连接改为管道方式的代理服务器。
OPTIONS   返回服务器针对特定资源所支持的HTTP请求方法。也可以利用向Web服务器发送'*'的请求来测试服务器的功能性。
TRACE     回显服务器收到的请求,主要用于测试或诊断。

  将请求方法设置为OPTIONS,来查看服务器支持的请求方法。

解决方案:

在web应用中的web.xml加上如下内容

 
  <security-constraint>
        <web-resource-collection>
            <web-resource-name>disp</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>
            <http-method>PATCH</http-method>
        </web-resource-collection>
        <auth-constraint></auth-constraint>
    </security-constraint>

标签介绍:

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

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

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

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

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值