天极传媒:
天极网
比特网
IT专家网
52PK游戏网
极客修
全国分站

北京上海广州深港南京福建沈阳成都杭州西安长春重庆大庆合肥惠州青岛郑州泰州厦门淄博天津无锡哈尔滨

产品
  • 网页
  • 产品
  • 图片
  • 报价
  • 下载
全高清投影机 净化器 4K电视曲面电视小家电滚筒洗衣机
您现在的位置: 天极网 > 软件 > 安全>新闻>新浪微博遭XSS攻击事件始末分析

新浪微博遭XSS攻击事件始末分析

Yesky软件频道2011-06-29 10:05我要吐槽

  天极网整理报道,6月28日晚,新浪微博突然出现大范围“中毒”,微博用户中招后会自动向自己的粉丝发送含毒私信和微博,有人点击后会再次中毒,形成恶性循环。

  大量用户自动发送“建党大业中穿帮的地方”、“个税起征点有望提到4000”、“郭美美事件的一些未注意到的细节”、“3D肉团团高清普通话版种子”等带链接的微博与私信,并自动关注一位名为hellosamy的用户。

http://bbs.unnoo.com/data/attachment/forum/201106/28/213035yd8yj9yzj9yy3ksq.png

  一、事件的经过如下:

  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上面进行传播。说明攻击者对于网络安全领域有一定的“功力”,攻击方式和之前的人人网的攻击有些区别,人人网是只要打开私信就会「中毒」,更严重。这次攻击如果打开私信是没问题的,如果警觉的话,不去点击那个链接,也不会中招。严重程度稍微低于人人网的攻击。

作者:嘉文 整理责任编辑:陈东方)
请关注天极网天极新媒体 最酷科技资讯
扫码赢大奖
评论
* 网友发言均非本站立场,本站不在评论栏推荐任何网店、经销商,谨防上当受骗!
热点推荐
微软Windows 10操作系统Win10系统在Win8的基础上对界面、特性以及跨平台方面做了诸多优化。[详细]
Windows 10 新视界 [进入频道][使用技巧][微博互动]
手机整机DIY企业级