当前位置:WooYun >> 漏洞信息

漏洞概要 关注数(24) 关注此漏洞

缺陷编号:wooyun-2015-0106776

漏洞标题:利用FoxMail持久型XSS漏洞偷取任意的邮件内容或执行任意代码等

相关厂商:腾讯

漏洞作者: Tea

提交时间:2015-04-09 11:38

修复时间:2015-07-08 17:04

公开时间:2015-07-08 17:04

漏洞类型:远程代码执行

危害等级:高

自评Rank:20

漏洞状态:厂商已经确认

漏洞来源: http://www.wooyun.org,如有疑问或需要帮助请联系 [email protected]

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

2015-04-09: 细节已通知厂商并且等待厂商处理中
2015-04-09: 厂商已经确认,细节仅向厂商公开
2015-04-12: 细节向第三方安全合作伙伴开放
2015-06-03: 细节向核心白帽子及相关领域专家公开
2015-06-13: 细节向普通白帽子公开
2015-06-23: 细节向实习白帽子公开
2015-07-08: 细节向公众公开

简要描述:

你以为FOXMAIL的XSS就只能弹框么。。

详细说明:

这个不是站在
WooYun: Foxmail邮箱客户端持久型XSS跨站脚本攻击漏洞(收邮件就触发)
研究的问题,是去年提交了TSRC以后更新版本后绕过一些问题的东西。
测试版本,最新版本7.2 build 6.0.40
本报告不包含以前版本的利用信息。
PS:因为软件更新以后在TSRC提交的问题已经修护,后面版本产生的问题算为新问题(跟TSRC工作人员确认过了,他们也认为我以前提交的问题修护了)
新问题,就换个地方提了。
还有一点就是,

version.png


这个地方后面更新了小版本号,这里一直没有更新时间,而且FOXMAIL里面的更新是更新不到最新的小版本号版本的,诡异
下面就来说说问题的情况了。
其实FOXMAIL就类似是一个大的浏览器,里面CSS,JS,HTML都解析。
然后呢,FOXMIAL里面加载了Jquery的。这里可以做下判断看看。
这里会方便后面获取任意邮件的内容什么的。
具体可以看:
mail_frame.html
里面加载的JS。。

JQU.png


/Template/Conversation/Javascript/Main.js
这个JS里面有很多好玩的方法,发邮件,打开邮件,菜单,快速回复等。
自己看看功能
比如:
window.J2D_WriteLog() 写日志,这个会写内容到一个文本文件在FOXMAIL目录的子目录
window.J2D_PopupCompose(4294968029, 'Ni,Hao.') 可以直接打开写信窗口
window.J2D_ChangeTopState(4294968029, 1) 给邮件置顶
window.J2D_ContinueXSend(mailid) 触发快速回复,这个会直接发送回邮件
上面这些截图就不截了,自己可以去玩。。
在FOXMAIL里面标记一个邮件用到的是mailid.
如何获取这个mailid呢。我们可以用如下的方法获取到:

var mailidtmp = $('.mail_session').attr('mailid');


在发送邮件过去以后,收到邮件后就有了

MAILID.png


我们的目标是偷任意的邮件内容。
但是能执行代码的为什么不执行呢。。
这里先给出触发这个XSS的POC:
测试代码里面。。
FOXMAIL邮件查看页面里面还启用了CSP..
好了,我们下面说怎么获取任意的邮箱内容了。
前面说了,$ajax是有的,方便了我们后面获取邮件内容发送出去。。
后面我们会把内容GET出去(这里只作验证)更猥琐的大牛自行完善。。
以下只给出结果,过程就不说了,会跟以前的问题重复,怕挨打。。
先个几个短的JS功能:
/*实现获得当前MAILID,然后遍历几个MAILID,打开其他的邮件,并且插入'c'*/

var maxmid=$('.mail_session').attr('mailid');var minmid=maxmid - 4;for (minmid;minmid<maxmid;minmid++){window.J2D_PopupCompose(minmid, 'c')}


开始在这里逗留了很久,一直找不到直接转其他邮件并且把收件人或者CC人改变为自己控制的邮箱的方法,不然你发送一个邮箱,对面一触发再给你转过来,也是没得意义的事情。
window.J2D_PopupCompose(minmid, 'c')这个方法的实现就是,打开其他邮件通过mailid控制,并且插入后面跟的内容。比如上面的"c".
这下猥琐的思路就来了。。
XSS触发-->获取当前mailid-->打开其他邮件-->在其他邮件内容出插入新XSS代码-->XSS代码在新页面执行
以上就是利用的流程了。
还有一个FOXMAIL的mailid(我测试自己不同机器)总是以相同的一个 mailid开始,然后增加。所以,只是玩玩的话,可以猜几个 mailid玩玩。
给出获取内容的JS(只是测试):

function removeHTMLTag(str){str=str.replace(/<\/?[^>]*>/g,'');str=str.replace(/[ | ]*\n/g,'\n');str=str.replace(/\n[\s| | ]*\r/g,'\n');str=str.replace(/&nbsp;/ig,''); return str;};var mid =$('blockquote').html();alert(removeHTMLTag(mid));


//$('blockquote').html 这里用这个是因为测试的时候这里方便
然后给出最后的POC:
其实利用代码太粗糙,可以好好改改,但是测试能用,证明问题就行了。

漏洞证明:

EXEC1.png


EXEC2.png


EXEC3.png


GET到服务器出邮件内容:

CONT1.png


这里是查询远程服务器日志的内容(GET出去的邮件内容)

CONT2.png


CONT3.png


要想多偷邮件,就用上面的For循环多循环就OK了。
传出去用户像是不知道,但是一下邮箱打开很多其他邮件的框框还是很可疑的,暂时做不到静默偷取。。

KK.png


如这种框框。。会很多。

修复方案:

window.open("*.exe")这个很容易绕过。exe后面跟/或者.等
CSP 其他的都有完善了,object-src没有完善好。
最好是可以让用户插入的XSS代码全部都假死。过滤够。

版权声明:转载请注明来源 Tea@乌云


漏洞回应

厂商回应:

危害等级:高

漏洞Rank:20

确认时间:2015-04-09 17:02

厂商回复:

非常感谢您的报告,问题已着手处理,感谢大家对腾讯业务安全的关注。如果您有任何疑问,欢迎反馈,我们会有专人跟进处理。

最新状态:

暂无


漏洞评价:

评论

  1. 2015-04-09 17:10 | 疯狗 认证白帽子 ( 实习白帽子 | Rank:44 漏洞数:2 | 阅尽天下漏洞,心中自然无码。)

    终于确认了

  2. 2015-04-09 17:14 | f4ck ( 实习白帽子 | Rank:42 漏洞数:7 | 有些人很牛B,一个漏洞能刷成N个。)

    上首显了,少有的20rank。

  3. 2015-04-09 17:15 | 浅蓝 ( 普通白帽子 | Rank:274 漏洞数:109 | 爱安全:www.ixsec.orgXsec社区:zone.ixse...)

    怎么确认了还在最新提交列表里

  4. 2015-04-09 17:17 | scanf ( 核心白帽子 | Rank:1232 漏洞数:186 | 。)

    少有的20rank

  5. 2015-04-09 17:32 | ’‘Nome ( 实习白帽子 | Rank:55 漏洞数:19 | 在此感谢 @M4sk @mango @裤裆 @泳少 @5up3r...)

    少有的20rank 腾讯说话太夸张了。。。。打脸了吧?

  6. 2015-04-09 17:34 | zeracker 认证白帽子 ( 核心白帽子 | Rank:1068 漏洞数:137 | 多乌云、多机会!微信公众号: id:a301zls ...)

    20rank

  7. 2015-04-09 17:36 | chock ( 实习白帽子 | Rank:58 漏洞数:15 | 今夜我们都是wooyun人,我们一定要收购长亭)

    哦,碉堡了

  8. 2015-04-09 17:49 | boooooom 认证白帽子 ( 普通白帽子 | Rank:467 漏洞数:50 | 我有一个好想法!)

    二哥还有30秒到达战场....

  9. 2015-04-09 17:50 | he1renyagao ( 普通白帽子 | Rank:225 漏洞数:29 | 是金子总会发光,在还未发光之前,先打磨打...)

    20rank

  10. 2015-04-09 18:05 | Mr.leo ( 普通白帽子 | Rank:1314 漏洞数:176 | 说点神马呢!!)

    $$$$

  11. 2015-04-09 18:05 | 岩少 ( 普通白帽子 | Rank:586 漏洞数:171 | 破晓团队)

    这么多,这是多少钱啊

  12. 2015-04-09 18:10 | 风萧萧 认证白帽子 ( 核心白帽子 | Rank:1020 漏洞数:76 | 人这一辈子总要动真格的爱上什么人)

    卧槽关注啊

  13. 2015-04-09 18:12 | se55i0n ( 普通白帽子 | Rank:1567 漏洞数:173 )

    火钳刘民呀

  14. 2015-04-09 18:14 | catcat520 ( 路人 | Rank:20 漏洞数:4 | 大家好,我是刚学网络 00后,求照顾,谢谢)

    关注一下

  15. 2015-04-09 18:16 | 浅蓝 ( 普通白帽子 | Rank:274 漏洞数:109 | 爱安全:www.ixsec.orgXsec社区:zone.ixse...)

    我了割草啊,这么快就$$$了

  16. 2015-04-09 18:20 | ’‘Nome ( 实习白帽子 | Rank:55 漏洞数:19 | 在此感谢 @M4sk @mango @裤裆 @泳少 @5up3r...)

    这么快就$$$了 我要是得到$$$ @浩天 你让我和你搞基 我都同意~~~~

  17. 2015-04-09 18:21 | ssss ( 实习白帽子 | Rank:80 漏洞数:19 | 虫子是给早起的勤奋的鸟儿七的。)

    火钳关注

  18. 2015-04-09 18:22 | term ( 实习白帽子 | Rank:72 漏洞数:21 )

    卧槽 直接$$$ 一提交钱就到了

  19. 2015-04-09 18:24 | f4ckbaidu ( 普通白帽子 | Rank:182 漏洞数:23 | 开发真是日了狗了)

    卧槽,这么快就给钱了

  20. 2015-04-09 18:30 | 浩天 认证白帽子 ( 普通白帽子 | Rank:915 漏洞数:79 | 度假中...)

    @‘Nome 我还不愿意呢

  21. 2015-04-09 18:56 | an0nym0u5 ( 普通白帽子 | Rank:172 漏洞数:31 )

    吃饭的功夫就雷劈了不说~还$$$啊!NB!

  22. 2015-04-09 19:05 | scanf ( 核心白帽子 | Rank:1232 漏洞数:186 | 。)

    好多钱

  23. 2015-04-09 19:32 | 暗羽 ( 路人 | Rank:21 漏洞数:6 | 喵呜,给人类的智商跪了)

    ~\(≧▽≦)/~

  24. 2015-04-09 19:35 | 泳少 ( 普通白帽子 | Rank:231 漏洞数:79 | ★ 梦想这条路踏上了,跪着也要...)

    5000以上

  25. 2015-04-09 19:35 | 大大灰狼 ( 普通白帽子 | Rank:248 漏洞数:53 | Newbie)

    我用的就是foxmail啊,别黑我啊

  26. 2015-04-09 20:39 | 秋风 ( 普通白帽子 | Rank:438 漏洞数:44 | 码农一枚,关注互联网安全)

    NB!

  27. 2015-04-09 20:52 | Taro ( 普通白帽子 | Rank:178 漏洞数:48 | 走向最远的方向,哪怕前路迷茫;抱着最大的...)

    三个雷啊

  28. 2015-04-09 21:04 | 动后河 ( 实习白帽子 | Rank:51 漏洞数:13 | ☭)

    xss也能这么高!

  29. 2015-04-09 21:07 | xbuther ( 路人 | Rank:4 漏洞数:3 | 多多交流,一起进步。。。O(∩_∩)O~)

    碉堡了。

  30. 2015-04-09 21:33 | B1acken ( 普通白帽子 | Rank:174 漏洞数:56 | 渣渣)

    火前留名

  31. 2015-04-09 21:43 | 袋鼠妈妈 ( 普通白帽子 | Rank:449 漏洞数:61 | 故乡的原风景.MP3)

    打脸了吧?

  32. 2015-04-09 22:05 | ki11y0u ( 普通白帽子 | Rank:104 漏洞数:23 | 好好学习,求带飞~~~~~~~~~~~~~~~~~~~~~~...)

    $$$是多少?

  33. 2015-04-09 22:46 | 90Snake ( 普通白帽子 | Rank:109 漏洞数:42 | 最大的漏洞就是人)

    二哥还有30秒到达战场....

  34. 2015-04-09 23:43 | 小红猪 ( 普通白帽子 | Rank:194 漏洞数:30 | Wow~~~哈哈~~~)

    先膜拜一下,哈哈..

  35. 2015-04-10 00:16 | 明月影 ( 路人 | Rank:12 漏洞数:8 | 学姿势,学思路。)

    来迟了。

  36. 2015-04-13 17:49 | 顾顾顾金威 ( 实习白帽子 | Rank:54 漏洞数:12 | 拉拉拉拉阿拉拉拉)

    $$$不得一万吗

  37. 2015-04-13 19:02 | 找寻者 ( 路人 | Rank:2 漏洞数:1 | 学习啊)

    我去,都是大牛啊

  38. 2015-04-13 19:05 | 明月影 ( 路人 | Rank:12 漏洞数:8 | 学姿势,学思路。)

    立刻核心白帽子?

  39. 2015-04-14 15:55 | 那年打死一只小强 ( 路人 | Rank:16 漏洞数:6 | 请大牛带我飞)

    代码码的好 何止弹窗呢?

  40. 2015-04-17 00:24 | JGHOOluwa ( 普通白帽子 | Rank:206 漏洞数:32 | 就是来看看大牛们如何超神的^-^)

    关注

  41. 2015-06-03 23:24 | wefgod ( 普通白帽子 | Rank:1807 漏洞数:179 | 力不从心)

    这个很给力啊

  42. 2015-06-11 11:30 | 梧桐雨 认证白帽子 ( 核心白帽子 | Rank:1576 漏洞数:184 | 关注技术与网络安全)

    @wefgod 确实给力,很久没看过这么精彩的案例

  43. 2015-06-14 13:43 | D&G ( 普通白帽子 | Rank:523 漏洞数:103 | going)

    没看懂xss是哪里触发的啊

  44. 2015-06-24 09:34 | yinian ( 实习白帽子 | Rank:67 漏洞数:22 | 代 码 审 计 求 交 流)

    好贵

  45. 2015-07-08 17:18 | 牛 小 帅 ( 普通白帽子 | Rank:363 漏洞数:84 | [code]心若没有栖息的地方,走到哪里都是在...)

    好厉害

  46. 2015-07-08 18:08 | 大物期末不能挂 ( 普通白帽子 | Rank:132 漏洞数:23 | 1.一个学渣,只求每门都不挂2.想把漏洞提...)

    二哥还有30秒到达战场....

  47. 2015-07-08 18:31 | 鬼见愁 ( 路人 | Rank:10 漏洞数:1 | 挖洞之神)

    求测试代码是多少