请选择 进入手机版 | 继续访问电脑版
 找回密码
 立即注册
搜索

本文来自

安全事件分析

安全事件分析

人已关注

请添加对本版块的简短描述

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

  [复制链接]
10387 abc 发表于 2016-1-1 22:34:15

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

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

97G39CEI82KQ.jpg

  一、事件的经过如下:

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

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

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

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

  二、 攻击分析

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

5265K3WO5DQU.jpg

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

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

CQ7JJLAKKS2Y.jpg

  攻击原理分析图

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

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

  三、 攻击者是谁?

7TT4RVQPID79.jpg

  病毒作者微博

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

  Domain Name: 2kt.cn

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

  Registrant Name: 张志

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

(作者:嘉文 整理责任编辑:陈东方  链接

回复

使用道具 举报

旺大善 发表于 2016-12-2 21:19:03
佩服佩服!
回复 支持 反对

使用道具 举报

公业干 发表于 2016-12-2 21:45:55
求沙发
回复 支持 反对

使用道具 举报

博光广 发表于 2016-12-3 02:35:40
前排,哇咔咔
回复 支持 反对

使用道具 举报

凡运福 发表于 2016-12-3 04:35:55
呵呵。。。
回复 支持 反对

使用道具 举报

主东锁 发表于 2016-12-3 05:15:41
无论是不是沙发都得回复下
回复 支持 反对

使用道具 举报

达雷础 发表于 2016-12-3 06:45:41
大人,此事必有蹊跷!
回复 支持 反对

使用道具 举报

诚太爱 发表于 2016-12-3 10:57:59
鄙视楼下的顶帖没我快,哈哈
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表