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

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

缺陷编号:wooyun-2015-0145836

漏洞标题:橘子浏览器远程代码执行

相关厂商:百度

漏洞作者: 梧桐雨

提交时间:2015-10-10 18:14

修复时间:2016-01-11 15:32

公开时间:2016-01-11 15:32

漏洞类型:远程代码执行

危害等级:高

自评Rank:20

漏洞状态:厂商已经确认

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

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

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

简要描述:

这几天在测试机装了百度软件,当然橘子软件也是送的,既然来了那当然不能放过啦~不过在推送你们的软件的时候是否能做下详细的安全测试呢?不然好怕怕的。。

详细说明:

为了保证是最新的,我又在123juzi.com下载了一份最新的,漏洞也是存在的。
具体可看:

juzi.png


版本1.0.9.1033
对橘子浏览器进行分析,发现exe里面藏着宝藏,都写满了html的逻辑!
对常用api分析,发现存在external对象。
其中有一些高危的敏感api,譬如:
window.external.ExtGetMostVisitedUrls(external.ExtGetSuperCode(window)) //查看最近打开最多的地址
获取ico图片路径
window.external.ExtGetUrlIconPath(external.ExtGetSuperCode(window),"http://baidu.com")
获取对应橘子浏览器机器的supercode:
external.ExtGetSuperCode(window)
上面这些都不是重点,重头戏下面来了:
跨域访问:
window.external.ExtGetOpenUrls(external.ExtGetSuperCode(window)) //获取当前打开页面url
橘子浏览器的特权域为:juzi:last history 以及http://baidu.com , http://123juzi.com。
以http://baidu.com为例,使用window.external.ExtGetOpenUrls(external.ExtGetSuperCode(window)) api
输出结果:

1024.jpg


完全是可以获取到你当前打开的所有url,以及title了。想着能否找一个命令执行呢?
花了1-2天的时间仔细寻找api,发现有这个api可以修改主页的八宫格,因为橘子浏览器的八宫格是在res://域的,允许调用WScript.Shell 执行任意系统的命令。
api如下:
window.external.ExtModifyNewTabItem(external.ExtGetSuperCode(window), 1, "http://wutongyu.info", "exe")
baidu.com域执行之后:
首页的第二个格子将会变成我的blog的地址。我又想起能用javascript协议来直接执行js命令,但是很不巧,这里过滤了javascript,黑盒了一下发现出现javascript,前面全部会加上一个http。即,如果你想执行javascript:alert(1),就会变成http://javascript:alert(1)。
这样自然没办法执行js,那么能否用空格呢?空格javascript:alert(1),还是一样,没办法绕过。也就是说,你的url里面不存在http://,他就会自动在前面帮你加上。
fuzz之后,发现javascript:alert(1)//http://这样的形式,浏览器不会帮你加上http://。即:
window.external.ExtModifyNewTabItem(external.ExtGetSuperCode(window), 1, " javascript:alert(1)//http://", "这是随便起的标题")
但是发现虽然不会给我们加http://,但是点击却是跳转到about:blank的,崩溃,难道没别的办法了吗?
这个时候我又回到阅读源码的阶段,想看看他是怎么过滤的:
功夫不负有心人,在exe里的 function filterUrl()函数里:具体如下:

function filterUrl(url)
{
if( url.indexOf("javascript:") == 0 || url.indexOf("vbscript:") == 0 || url.indexOf("jscript:") == 0 )
return "";
url = url.replace(/\\/g,"%5C");
url = url.replace(/</g,"%3C");
url = url.replace(/>/g,"%3E");
url = url.replace(/"/g,"%22");
url = url.replace(/'/g,"%27");
url = url.replace(/`/g,"%60");
return url;
}


原来他只是过滤javascript://协议,并没有区分大小写。我们可以用Javascript://绕过,来继续执行我们的命令。最后生成的code代码为:见测试代码
在baidu.com下执行:

123.jpg


之后,下次用户打开浏览器,打开八宫格的时候点击第二个,任意代码被执行:

calc.jpg


事实上,我们通过上面api,可修改所有八宫格的url,全部覆盖为我们的恶意javascript代码。

漏洞证明:

说了这么多,来个视频,更清晰一点。因为没找到好用baidu.com的xss,暂时用这个来替代一下!
如果你们有更好的baidu.com的反射型xss,直接触发的,那这个漏洞危害就更大了。。
链接: http://pan.baidu.com/s/1ntu3Gm9 密码: bgmf

修复方案:

增强过滤规则,最好只允许url为http/https/ftp等开头的链接,同时过滤你们此处的xss
完善api规则。

版权声明:转载请注明来源 梧桐雨@乌云


漏洞回应

厂商回应:

危害等级:高

漏洞Rank:20

确认时间:2015-10-10 20:16

厂商回复:

感谢提交

最新状态:

暂无


漏洞评价:

评价

  1. 2015-10-10 18:20 | 数据流 认证白帽子 ( 普通白帽子 | Rank:738 漏洞数:93 | 没关系啊,我们还有音乐)

    沙发

  2. 2015-10-10 18:27 | 小川 认证白帽子 ( 核心白帽子 | Rank:1451 漏洞数:223 | 一个致力要将乌云变成搞笑论坛的男人)

    还卖萌

  3. 2015-10-10 19:03 | roker ( 普通白帽子 | Rank:372 漏洞数:109 )

    辣么萌。

  4. 2015-10-10 20:00 | px1624 ( 普通白帽子 | Rank:1072 漏洞数:181 | px1624)

    http://www.pingwest.com/juzi-browser/

  5. 2015-10-10 20:07 | 隐形人真忙 ( 普通白帽子 | Rank:125 漏洞数:17 | Hello hacker!)

    赞~

  6. 2015-10-10 20:50 | MAX丶 ( 路人 | Rank:20 漏洞数:5 | 人生路上总有一些不顺心的事情,让我们跳过...)

    沙发!!!!

  7. 2015-10-10 22:55 | Lyleaks ( 普通白帽子 | Rank:167 漏洞数:12 | 我都是按照基本法发洞的)

    雨师傅V5

  8. 2015-10-11 04:23 | MAX丶 ( 路人 | Rank:20 漏洞数:5 | 人生路上总有一些不顺心的事情,让我们跳过...)

    前排!!!!】

  9. 2015-10-11 04:33 | 90Snake ( 普通白帽子 | Rank:146 漏洞数:48 | 人如果没有梦想,跟咸鱼有什么分别)

    http://www.pingwest.com/juzi-browser/

  10. 2015-10-11 10:48 | MayIKissYou ( 普通白帽子 | Rank:203 漏洞数:35 | 勿忘初心)

    = =玩郁闷了 开始挖洞了哈

  11. 2015-10-11 10:50 | 梧桐雨 认证白帽子 ( 核心白帽子 | Rank:1628 漏洞数:188 | 新年快乐!)

    @MayIKissYou 来啊,带我天梯。

  12. 2015-10-11 17:58 | Code Life ( 实习白帽子 | Rank:45 漏洞数:19 | Code Life,Jion It!)

    百度橘子,你好!

  13. 2016-01-20 17:12 | 广西网络与信息安全通报中心(乌云厂商)

    求找浏览器特权域的方法