WEB漏洞-关闭不安全的HTTP方法

一.测试过程

通过手工测试,站点启动了不安全的HTTP方法漏洞,详细测试如下:

OPTIONS /main/login HTTP/1.1
Host: xxx.com
User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:52.0) Gecko/20100101 Firefox/52.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: zh-CN,zh;q=0.8,en-US;q=0.5,en;q=0.3
Accept-Encoding: gzip, deflate
Referer: https://xxx.com/home/index
Cookie: scaptcha=2457; JSESSIONID=F1F773B239AD16C97BE08EC4160372C4
DNT: 1
Connection: close
Upgrade-Insecure-Requests: 1

在这里插入图片描述

如图:启动了不安全的HTTP方法。以下这几个方法属于HTTP协议 WebDAV(Web-based Distributed Authoring and Versioning)的扩展。

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

二.风险分析

WebDAV虽然方便了网站管理员对网站的管理,但是也带来了新的安全风险!可能会在Web服务器上上载、修改、删除Web页面、脚本和文件或者获取一些敏感信息。

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

三.解决方法

如果服务器不需要支持 WebDAV,尽量禁用它(如方法一);或禁止不必要的 HTTP 方法(如方法二)。

3.1 方法一

灰机:Web服务器禁用WebDAV功能

3.2 方法二

在 Tomcat 的 web.xml 文件中添加以下代码,关闭不安全的HTTP方法。

<!-- 关闭不安全的HTTP方法 -->
<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>

也可以在项目的 web.xml 配置文件中添加以上代码。区别在于在项目的 web.xml 配置文件中添加只对该应用有效;在 Tomcat 中添加对部署到该 Tomcat 中的所有应用有效。

最后重启 Tomcat 即生效!

四.测试效果

再次测试,未发现不安全的HTTP方法,漏洞修复成功!
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/ii950606/article/details/111400657