漏洞概要 关注数(24) 关注此漏洞
缺陷编号:wooyun-2013-046757
漏洞标题:UC浏览器窃取本地文件和任意http域内容
相关厂商:UC Mobile
漏洞作者: 爱梅小礼
提交时间:2013-12-23 10:21
修复时间:2014-03-23 10:22
公开时间:2014-03-23 10:22
漏洞类型:非授权访问/认证绕过
危害等级:中
自评Rank:10
漏洞状态:厂商已经确认
漏洞来源: http://www.wooyun.org,如有疑问或需要帮助请联系 [email protected]
Tags标签: 无
漏洞详情
披露状态:
2013-12-23: 细节已通知厂商并且等待厂商处理中
2013-12-23: 厂商已经确认,细节仅向厂商公开
2013-12-26: 细节向第三方安全合作伙伴开放
2014-02-16: 细节向核心白帽子及相关领域专家公开
2014-02-26: 细节向普通白帽子公开
2014-03-08: 细节向实习白帽子公开
2014-03-23: 细节向公众公开
简要描述:
这次带来了两个弱点,一个是跨本地域,另一个是本地域可以执行的new payload。
(感谢wooyun和厂商给的price,本想留着些漏洞等过年以后再提交呢,为了表达谢意,我也不能老是留着)
详细说明:
测试版本:9.4.2.365
本次问题是ext:as协议引起的http->file的跨域:
它能做什么完全取决于file域的权限了,例如可以窃取本地文件。可参考 WooYun: UC浏览器跨本地域漏洞可获取本地文件内容 中的exp和payload代码,经测试也是可以的,几乎可以复制,此处不再赘述。
而今天我要发的payload是file->http跨域弱点,自从 WooYun: UC浏览器跨本地域XSS可盗取任意域Cookie 之后,UC修补了这个弱点,file域再也无法获取到http域的任何内容(document.getElementById.contentDocument不再能获取到远程iframe的句柄),但这种限制可以间接绕过:UC内置协议ext:uc_dw可以无提示地下载任意类型的文件,而且request是带着相应cookie的,并保存在固定目录,下载文件名也是可预测的。所以思路就是使用ext:uc_dw把想要读取的内容下载到本地,然后再读取本地文件(file域读取file域没有限制)。
漏洞证明:
http协议远程访问exp.html 先将payload.html下载到本地,五秒钟等待下载完毕 再用ext:as跨域去执行它。
exp.html内容:
假设http://m.baidu.com/是用户只有登录过才能看到的持有cookie的私有页面,为保证这一点,我用自己的id登录了百度(右上角的id):
payload.html是exp.html下载到本地执行的,它先下载http://m.baidu.com/内容并自动保存到/mnt/sdcard/UCDownloads/index.html,然后再读取它:
执行效果如下:
exp.html会先下载payload.html
五秒后payload.html会再下载http://m.baidu.com/内容并命名为index.html文件:
payload.html读取index.html,从页面中的ID来看,确实是用户登录后的私有页面,而不是人人都能看到的前台页面:
证明完毕,才发现我书面表达能力太差了。
修复方案:
哥,你懂
版权声明:转载请注明来源 爱梅小礼@乌云
漏洞回应
厂商回应:
危害等级:中
漏洞Rank:10
确认时间:2013-12-23 11:44
厂商回复:
经验证,漏洞存在,非常感谢爱梅小礼提供的漏洞信息!
最新状态:
暂无