最新版2.2.2 2016.03.25 远程命令执行/种马/窃取邮件....
WPS Mail用的是Mozilla的thunderbird内核,还是比较安全,但不知道为何更新了一个版本后抽风了。。。
最新版
但不知道为什么这版抽风了,居然支持script标签,但就只能用script标签执行js,之前的版本是禁止的
既然是thunderbird内核的,有了xss就简单了,但后来发现没那么简单。。
thunderbird的Mail URI是用一个imap和mailbox:伪协议
imap方式接受就会用imap:// Pop方式的就会用mailbox来处理邮件
imap的利用:遍历ID post到你的远程服务即可
urldecode后就是邮件的head和body了
而当你不知道对方用的是imap或者pop来配置邮箱时,就要判断。location.href是imap://就是imap,而mailbox:的就是pop的了。理论上只要看location.href就知道了,判断后再遍历ID就OK。
但后来发现wpsmail对当前路径创建了blob对象,使用createObjectURL,从而保护了真实路径。这样我们就无法得知路径去窃取邮件了。
但既然是基于thunderbird开发的,一般都会有一些接口可以利用
在安装目录发现有个app.xpi,XPI就是Mozilla系程序的扩展,包括Firefox,thunderbird啥的。
可以直接解压。
程序的基本功能源码都在里面了。
在mail/MailCommands.js 找到一个接口
Globals.app.MailServices,看了一些接口的函数也什么用。
于是去遍历了下MailServices object
遍历代码:
遍历到Globals.app.MailServices.msgUtils
居然看到了Cc = [object nsXPCComponents_Classes]
Cc和Ci可以创建一个XPCOM Component。
有很多程序都是基于Mozilla系的开源程序进行开发的,而wpsmail就是,并且是基于thunderbird,上面说了。他们的一个特点就是用xul写的,再用Mozilla的xulrunner.exe让程序跑起来。
在wpsmail的目录下可以看到有个xulrunner的目录。
而利用Cc是可以实现xul代码,而firefox的扩展也是用xul写的。
有了Cc就可以像写扩展一样了,实现各种功能。
引用directory_service Component,获取文件路径
这样就知道路径了,可以继续上上面的窃取邮件了。但有了Cc的接口还窃取邮件吗,相当于可以在你电脑上写XUL程序了,干什么都行了。
远程命令执行
也可以写个vbs或者bat下载木马,一番调试后写好了远程下载程序执行的代码
引用了三个Component
以后遇到基于Mozilla系开发的程序不妨尝试寻找xul的接口,直接引用Component想干什么就干什么了。。