网站安全检测发现服务器启用了TRACE Method
通过Web网站安全检测工具,经常会发现服务器启用了TRACE Method,并将其定位为一个低风险。虽说是低风险,但看着不舒服,就想能不能把它消除掉。而且Trace Method应该是与GET、POST、HEAD等相似的HTTP协议的方法,借此可以更多的了解一下HTTP协议。
TRACE Method的定义:
TRACE Method是HTTP(超文本传输)协议定义的一种协议调试方法,该方法会使服务器原样返回任意客户端请求的任何内容。由于该方法会原样返回客户端提交的任意数据,因此可以用来进行跨站脚本(简称XSS)攻击,这种攻击方式又称为跨站跟踪攻击(简称XST)。
TRACE Method的危害:
1、恶意攻击者可以通过TRACE Method返回的信息了解到网站前端的一些信息,如缓存服务器等,从而为下一步的攻击提供便利。
2、恶意攻击者可以通过TRACE Method进行XSS攻击
3、即使网站对关键页面启用了HttpOnly头标记和禁止脚本读取cookie信息,那么通过TRACE Method恶意攻击者还是可以绕过这个限制读取到cookie信息。
如何禁用TRACE Method:
1、2.0.55以上版本的Apache服务器,可以在httpd.conf的尾部添加:
TraceEnable off
2、其它版本的Apache:
1)确认rewrite模块激活(httpd.conf,下面一行前面没有#):
LoadModule rewrite_module modules/mod_rewrite.so
2)在各虚拟主机的配置文件里添加如下语句:
RewriteEngine On
RewriteCond %{REQUEST_METHOD} ^TRACE
RewriteRule .* - [F]
注:可以在httpd.conf里搜索VirtualHost确定虚拟主机的配置文件。
3)IIS上可以使用URLScan来禁用Trace Method,在urlscan.ini文件中,设置允许的方法中不包括Trace即可。
URLScan的下载地址:http://microsoft.com/downloads/details.aspx?FamilyId=23D18937-DD7E-4613-9928-7F94EF1C902A&displaylang=en