漏洞概要 关注数(24) 关注此漏洞
缺陷编号:wooyun-2015-0101477
漏洞标题:YY浏览器设计缺陷导致可在任意域构造xss漏洞
相关厂商:广州多玩
漏洞作者: 梧桐雨
提交时间:2015-03-15 14:36
修复时间:2015-06-15 14:30
公开时间:2015-06-15 14:30
漏洞类型:远程代码执行
危害等级:高
自评Rank:15
漏洞状态:厂商已经确认
漏洞来源: http://www.wooyun.org,如有疑问或需要帮助请联系 [email protected]
Tags标签: 无
漏洞详情
披露状态:
2015-03-15: 细节已通知厂商并且等待厂商处理中
2015-03-17: 厂商已经确认,细节仅向厂商公开
2015-03-20: 细节向第三方安全合作伙伴开放
2015-05-11: 细节向核心白帽子及相关领域专家公开
2015-05-21: 细节向普通白帽子公开
2015-05-31: 细节向实习白帽子公开
2015-06-15: 细节向公众公开
简要描述:
由一个小问题造成的危害,附简单poc程序。
详细说明:
YY浏览器号称双核极速,去广告安全。但是结合一些细节小问题可以导致任意域xss。
0x01:
在对yy浏览器进行常规的安全测试的过程中,发现有一个内置插件(该插件是官网安装之后默认安装的)
也就是这个:
在影视搜索的地方,我发现历史记录会带入到local storage中:
0x02:
下一次搜索的时候,点击搜索框,就会触发这个跨站漏洞:
经过测试,发现<script>alert()</script>这种形式能成功执行任意脚本,而img不行,会提示un-safe 不安全的脚本,没关系,我们就用<script>alert()</script> 来执行恶意脚本。
0x03:
利用location.href来确定地址:
这个是点开的地址,真正触发的地址是这个:
也就是说我们构造如下地址:chrome-extension://ffbeebainnmlcloegidjjepclkamjgol/search.html?key=%3C/script%3E%3Cscript%3Ealert(document.domain)%3C/script%3E
然后让受害者点击一下视频搜索,我们的document.domain就会污染到本地的local storage
0x04:
我们已经可以控制任意js写入到local storage里头,但是测试发现不能引入外部js,同样会提示un-safe脚本,只能写入到<script></script>之中,这也算是你们安全考虑不周导致的。
0x05:
因为发生xss的作用域在扩展域,也就有了更高的权限:(chrome-extension://ffbeebainnmlcloegidjjepclkamjgol)
譬如允许通过
chrome.tabs.getAllInWindow(id,function(){console.log(arguments)}) 来读取任意窗口的id。结合这些id。
通过chrome.tabs.executeScript(id,{"code":"alert(document.cookie)"},function(){console.log(arguments)})允许往任意窗口写入js脚本。
代码如下:
剑心mm提到一个问题,插件是否随机的,我在虚拟机测试,也是这个路径,证明这个路径是可以预测的:如下图
漏洞证明:
我以窃取已经打开了窗口的cookie为poc,当然,打开的窗口越多,危害就成几何形式成倍的增长。
视频地址:
http://pan.baidu.com/s/1hqszRUk
密码j4uc
修复方案:
对yy影视插件写入本地数据部分进行严格的校验,过滤<>等符合,避免产生跨站威胁。
版权声明:转载请注明来源 梧桐雨@乌云
漏洞回应
厂商回应:
危害等级:中
漏洞Rank:10
确认时间:2015-03-17 14:29
厂商回复:
感谢对于欢聚时代安全工作的支持,我们会尽快修复
最新状态:
暂无