-
-
利用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 发表
新闻时间: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 发表
赞赏
谁下载
谁下载
看原图
赞赏
雪币:
留言: