关于跨域蠕虫的存在
作者:余弦来源:0×37 Security
这几天分析了几个大网站的XSS&CSRF漏洞,又开始思考跨域蠕虫的问题。QZ修饰鬼页后发现了在IE6下跨域的BUG,这个发现带来的冲击可不仅仅是盗cookie那么简单:),不过我下面要提到的跨域蠕虫与这个BUG无关,本文纯属YY一下。
XSS Worm的流行离不开SNS网络,技术核心非XMLHttpRequest对象莫属,我写了几个SNS网络的Worm,如果这几个Worm之间可以互相通 信的话(突破自身无法跨域的缺陷),那危害将会更大,会更有趣:)。首先我们要明确Webx.0世界中的Worm的生存条件以及它们是如何繁殖的(略)。 要让Worm之间通信,方法有很多。
`&W,G3O_2j;G4e%[o
一、Mail-to-Mail Worm:9r^Y,y)I#B+A
邮箱之间 可以互发邮件,Mail Worm可以借助这点将payload(XSS Trap)传播到不同的邮箱服务上,当然这时的payload几乎是不一样的。比如sohu mail的XSS Worm与QQ mail的XSS Worm,他们的通信渠道就完全可以借用邮件本身的互发功能。这两个不同mail环境下的Worm的DOM逻辑肯定不会一样,不过基本的功能模块可以共 享,比如XMLHttpRequest对象以及一些基本自定义函数等,这样的跨域Worm必须具备判断自身所处环境的能力,这个很简单。
6qn1s#xz,o;Gq
这个是跨域蠕虫最简单的模型。
二、CSRF Worm:!E/o%E2_\:q?``
:PP.Xr}hGSA c
这 种模式的跨域蠕虫要借用CSRF漏洞。比如我在myspace.cn上爆发了一个XSS Worm,而yeeyan.com上存在很低级的CSRF漏洞,我要如何将myspace上的威胁带到yeeyan上呢?这时就可以在 myspace.cn上的XSS Worm中加入这样的代码: