首页
社区
课程
招聘
利用FoxMail持久型XSS漏洞偷取任意的邮件内容或执行任意代码等
发表于: 2015-7-10 01:44 3274

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

2015-7-10 01:44
3274
新闻链接:http://netsecurity.51cto.com/art/201506/481069.htm
新闻时间:2015-07-08
新闻正文:
这个不是站在

WooYun: Foxmail邮箱客户端持久型XSS跨站脚本攻击漏洞(收邮件就触发)

研究的问题,是去年提交了TSRC以后更新版本后绕过一些问题的东西。

测试版本,最新版本7.2 build 6.0.40

本报告不包含以前版本的利用信息。

PS:因为软件更新以后在TSRC提交的问题已经修护,后面版本产生的问题算为新问题(跟TSRC工作人员确认过了,他们也认为我以前提交的问题修护了)

新问题,就换个地方提了。

还有一点就是,

这个地方后面更新了小版本号,这里一直没有更新时间,而且FOXMAIL里面的更新是更新不到最新的小版本号版本的,诡异

下面就来说说问题的情况了。

其实FOXMAIL就类似是一个大的浏览器,里面CSS,JS,HTML都解析。

然后呢,FOXMIAL里面加载了Jquery的。这里可以做下判断看看。

这里会方便后面获取任意邮件的内容什么的。

具体可以看:

mail_frame.html

里面加载的JS。。

/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呢。我们可以用如下的方法获取到:

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

我们的目标是偷任意的邮件内容。

但是能执行代码的为什么不执行呢。。

这里先给出触发这个XSS的POC:

测试代码里面。。

FOXMAIL邮件查看页面里面还启用了CSP..

好了,我们下面说怎么获取任意的邮箱内容了。

前面说了,$ajax是有的,方便了我们后面获取邮件内容发送出去。。

后面我们会把内容GET出去(这里只作验证)更猥琐的大牛自行完善。。

以下只给出结果,过程就不说了,会跟以前的问题重复,怕挨打。。

先个几个短的JS功能:

/*实现获得当前MAILID,然后遍历几个MAILID,打开其他的邮件,并且插入'c'*/

开始在这里逗留了很久,一直找不到直接转其他邮件并且把收件人或者CC人改变为自己控制的邮箱的方法,不然你发送一个邮箱,对面一触发再给你转过来,也是没得意义的事情。

window.J2D_PopupCompose(minmid, 'c')这个方法的实现就是,打开其他邮件通过mailid控制,并且插入后面跟的内容。比如上面的"c".

这下猥琐的思路就来了。。

XSS触发–>获取当前mailid–>打开其他邮件–>在其他邮件内容出插入新XSS代码–>XSS代码在新页面执行

以上就是利用的流程了。

还有一个FOXMAIL的mailid(我测试自己不同机器)总是以相同的一个 mailid开始,然后增加。所以,只是玩玩的话,可以猜几个 mailid玩玩。

给出获取内容的JS(只是测试):

//$('blockquote').html 这里用这个是因为测试的时候这里方便

然后给出最后的POC:

其实利用代码太粗糙,可以好好改改,但是测试能用,证明问题就行了。

本文固定链接: http://www.z7ys.com/52541.html
转载请注明: ShariGreenleaf 2015年07月08日 于 z7y Blog 发表

[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

上传的附件:
收藏
免费 0
支持
分享
最新回复 (0)
游客
登录 | 注册 方可回帖
返回
//