在了解今天所说的这个漏洞的时候,我们先来了解下漏洞背景:“启用了不安全的 HTTP 方法”属于“中”危漏洞。漏洞描述是:根据APPSCAN的报告,APPSCAN通过OPTIONS请求,当响应中发现DELETE、SEARCH、COPY等方法为允许方法时,则认为是漏洞。 详见下图:
Web服务器(以IIS为例)在没有任何设置是,使用OPTIONS命令,可以返回所有能够响应的HTTP方法,如OPTIONS, TRACE, GET, HEAD, COPY, PROPFIND, SEARCH, LOCK, UNLOCK。
发送OPTIONS请求:(使用telnet或者secureCRT等软件):
服务器响应可以使用的HTTP方法,见Allow部分:
接下来,余斗就分别根据不同的服务器环境教大家如何来设置禁用危险的http方法。
windows 2008-2012:
请在wwwroot目录建立web.config,内容如下
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<security>
<requestFiltering>
<verbs allowUnlisted="true">
<add verb="OPTIONS" allowed="false"/>
<add verb="TRACE" allowed="false"/>
</verbs>
</requestFiltering>
</security>
</system.webServer>
</configuration>
windows 2003:
控制面板-ISAPI筛选器-启用自定义重写组件,然后编辑/others/discuz/httpd.conf 如果您已有其他规则,请添加到第一条规则
RewriteEngine on
RewriteCond %{THE_REQUEST} ^(TRACE|OPTIONS)
RewriteRule .* - [F]
linux:
在wwwroot目录下创建.htaccess文件,内容如下,如果您已有其他规则,请添加到第一条规则
RewriteEngine On RewriteCond %{REQUEST_METHOD} ^(TRACE|OPTIONS) RewriteRule .* - [F]套路很深,不支持下载!