web服务器启用了不安全的HTTP方法

1、什么是不安全的HTTP方法

开发人员、运维人员一般可能用于调试服务器,开启了一些客户端能够直接读写服务器端文件的方法,例如:DELETE, PUT, COPY, MOVE, PROPFIND, PROPPATCH, SEARCH, LOCK, UNLOCK 等HTTP协议支持的方法。

2、安全风险

可能直接通过浏览器直接在Web服务器上上传、修改或删除Web页面、脚本和文件。

3、不安全的HTTP方法——原理

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

服务器端由于配置权限不当,导致允许了客户端发送 DELETE, PUT, COPY, MOVE, PROPFIND, PROPPATCH, SEARCH, LOCK, UNLOCK等请求,并且解析请求进行操作文件。如果服务器必须要支持WebDAV,请务必禁用它或禁止不必要的HTTP方法。

4、测试步骤

使用CURL发送OPTIONS请求,查看响应头中的Allow行

命令:curl -I -X OPTIONS http://payloads.online

➜  ~ curl -I -X OPTIONS http://10.211.55.16/
HTTP/1.1 200 OK
Date: Wed, 18 Apr 2018 02:17:47 GMT
Server: Microsoft-IIS/6.0
MS-Author-Via: DAV
Content-Length: 0
Accept-Ranges: none
DASL: <DAV:sql>
DAV: 1, 2
Public: OPTIONS, TRACE, GET, HEAD, DELETE, PUT, POST, COPY, MOVE, MKCOL, PROPFIND, PROPPATCH, LOCK, UNLOCK, SEARCH
Allow: OPTIONS, TRACE, GET, HEAD, DELETE, COPY, MOVE, PROPFIND, PROPPATCH, SEARCH, MKCOL, LOCK, UNLOCK
Cache-Control: private

若出现PUT、DELETE….等方法,则存在此风险。

5、修复方案

如tomcat,配置web.xml

<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>
<login-config>
<auth-method>BASIC</auth-method>
</login-config>

重启tomcat即可完成。

以上的代码添加到某一个应用中,也可以添加到tomcat的web.xml中,区别是添加到某一个应用只对某一个应用有效,如果添加到tomcat的web.xml中,

则对tomcat下所有的应用有效。

参考:

http://payloads.online/archivers/2018-04-18/1

https://www.cnblogs.com/qmfsun/p/6169641.html

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值