预防http Trace跨站攻击

技术6,197阅读模式

如果一台 Web Server 支持 Trace 和 / 或 Track 方式,那么它一定存在跨站脚本漏洞,将有可能受到跨站攻击。 Trace 和 Track 是用来调试 Web 服务器连接的 HTTP 方式。

我们通常在描述各种浏览器缺陷的时候,把“Cross-Site-Tracing”(跨站攻击)简称为 XST。

攻击者可以利用此漏洞欺骗合法用户并得到他们的私人信息。

解决方案:禁用 Trace 和 / 或 Track 方式。

方法一:

Apache版本大于2.2,在httpd.conf中添加以下一段即可:

TraceEnable off(建议使用的方法,简单明了,唯一需要注意apache的版本)

方法二:

如果一台 Web Server 支持 Trace 和 / 或 Track 方式,那么它一定存在跨站脚本漏洞,将有可能受到跨站攻击。 Trace 和 Track 是用来调试 Web 服务器连接的 HTTP 方式。

我们通常在描述各种浏览器缺陷的时候,把“Cross-Site-Tracing”(跨站攻击)简称为 XST。

攻击者可以利用此漏洞欺骗合法用户并得到他们的私人信息。

解决方案:禁用 Trace 和 / 或 Track 方式。
针对 Apache,可以借助 mod_rewrite 模块来禁止 HTTP Trace 请求。只要在各虚拟主机的配置文件里添加如下语句:

RewriteEngine on
RewriteCond %{REQUEST_METHOD} ^(TRACE|TRACK)
RewriteRule .* – [F]
需要在安装apache的时候编译mod_rewrite 。

方法三:(未测试)

SetEnvIfNoCase Request_Method ^(TRACE|TRACK) IS_TRACE

Order Allow,Deny
Allow from all
Deny from env=IS_TRACE

1、Microsoft IIS

使用 URLScan 工具禁用 HTTP Trace 请求,或者只开放满足站点需求和策略的方式。

2、Sun ONE Web Server releases 6.0 SP2 或者更高的版本:

在 obj.conf 文件的默认 object section 里添加下面的语句:


AuthTrans fn="set-variable"
remove-headers="transfer-encoding"
set-headers="content-length: -1"
error="501"

3、Sun ONE Web Server releases 6.0 SP2 或者更低的版本:

编译如下地址的 NSAPI 插件:
http://sunsolve.sun.com/pub-cgi/retrieve.pl?doc=fsalert%2F50603

更多信息可以查看以下资料:
http://www.whitehatsec.com/press_releases/WH-PR-20030120.pdf
http://archives.neohapsis.com/ar ... h/2003-q1/0035.html
http://sunsolve.sun.com/pub-cgi/retrieve.pl?doc=fsalert%2F50603
http://www.kb.cert.org/vuls/id/867593

文章末尾固定信息

weinxin
sailinginc
微信号已复制
添加博主微信,获取更多支持
轻触二维码,可复制博主微信号。微信扫一扫加博主微信,同时请备注说明来意。
 
秋昱
  • 本文由 秋昱 发表于2011年12月11日
  • 转载请务必保留本文链接:https://blog.wintao.com/104/