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

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/bobozai86/article/details/82708449

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

猜你喜欢

转载自blog.csdn.net/bobozai86/article/details/82708449