?
? ? 什么是跨站攻击?如果一台webserver支持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]?
补充其他 Web Server 的解决方案:
1、Microsoft IIS
使用 URLScan 工具禁用 HTTP Trace 请求,或者只开放满足站点需求和策略的方式。
2、Sun ONE Web Server releases 6.0 SP2 或者更高的版本:
在 obj.conf 文件的默认 object section 里添加下面的语句:
<Client method="TRACE">
AuthTrans fn="set-variable"
remove-headers="transfer-encoding"
set-headers="content-length: -1"
error="501"
</Client>?
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
本文出自 “玩linux…做运维…集群..” 博客,请务必保留此出处http://scottlinn.blog.51cto.com/829656/737889
Tomcat配置如下
?
一个典型的配置如下:
<Connector port=”8080” protocol=”HTTP/1.1” maxThreads=”150”
connectionTimeout=”20000” redirectPort=”8443” allowTrace="false"
其它一些重要属性如下:
- acceptCount : 接受连接request的最大连接数目,默认值是10
- address : 绑定IP地址,如果不绑定,默认将绑定任何IP地址
- allowTrace : 如果是true,将允许TRACE HTTP方法
- compressibleMimeTypes : 各个mimeType, 以逗号分隔,如text/html,text/xml
- compression : 如果带宽有限的话,可以用GZIP压缩
- connectionTimeout : 超时时间,默认为60000ms (60s)
- maxKeepAliveRequest : 默认值是100
- maxThreads : 处理请求的Connector的线程数目,默认值为200