漏洞挖掘 | 远程WWW服务支持TRACE请求

容许TRACE方法

漏洞描述

目标WEB服务器启用了TRACE方法。TRACE方法是HTTP(超文本传输)协议定义的一种协议调试方法,该方法使得服务器原样返回任何客户端请求的内容(可能会附加路由中间的代理服务器的信息),因为该方法原样返回客户端提交的任意数据,所以,可用来进行跨站脚本(XSS)攻击,这种攻击方式又称为跨站跟踪攻击(XST)。前端

风险等级

中、低缓存

漏洞测试

使用TRACE方法请求服务器,查看响应是否正常而且返回请求的内容:服务器

TRACE测试

漏洞危害

  1. 恶意攻击者能够经过TRACE Method返回的信息了解到网站前端的一些信息,如缓存服务器等,从而为下一步的攻击提供便利。
  2. 恶意攻击者能够经过TRACE Method进行XSS攻击
  3. 即便网站对关键页面启用了HttpOnly头标记和禁止脚本读取cookie信息,那么经过TRACE Method恶意攻击者仍是能够绕过这个限制读取到cookie信息。

修复建议

  1. 2.0.55以上版本的Apache服务器,能够在httpd.conf的尾部添加:
    TraceEnable off
  2. 其它版本的Apache服务器可编辑httpd.conf文件:
    激活rewrite模块(去掉符号 # ):
    LoadModule rewrite_module modules/mod_rewrite.so
    在各虚拟主机的配置文件里添加以下语句:
# 启用 Rewrite 引擎
    RewriteEngine On  

    # 对Request中的Method字段进行匹配:^TRACE 即以TRACE字符串开头
    RewriteCond %{REQUEST_METHOD} ^TRACE  

    # 定义规则:对于全部格式的来源请求,均返回[F]-Forbidden响应
    RewriteRule .* - [F]

注:能够在httpd.conf里搜索VirtualHost肯定虚拟主机的配置文件。cookie

相关文章
相关标签/搜索