猫头鹰
信安舆情早知道

Google SpreadSheet的CSRF漏洞和JSON劫持漏洞导致数据窃取

在2015年10月,我发现了一个谷歌的与电子表格的展示有关的一个API中的JSON+CSRF劫持漏洞,使用这种漏洞的攻击者可以窃取目标受害者的电子表格的内容而无需谷歌云盘的权限。

漏洞的影响:

当利用网络对目标受害者发起攻击的时候,攻击者能够绕过google drive 本地电子表格的ACL共享限制。为了展现这个漏洞,一个未被授权的攻击者对Google Drive文件尝试访问,如下图所示,可以利用该漏洞绕过谷歌安全保护:

1

漏洞的性质:

其实这已经不是第一次谷歌被发现JSON劫持并获取用户数据的漏洞。

这个漏洞的本质是谷歌的API驱动软件设计的缺陷而导致的OWASP TOP 10 (2013) – A8-Cross-Site Request Forgery (CSRF) 漏洞。

这个漏洞并不难挖掘,在过去曾经有过这样使用CSRF+JSON劫持的例子:

  • 2006年1月27日 – 利用先进的网络攻击技术的Gmail:
    • http://jeremiahgrossman.blogspot.com/2006/01/advanced-web-attack-techniques-using.html
    • Gmail的联系人列表CSRF漏洞
  • 2008年11月20日 – 一个微妙的JSON漏洞剖析:
    • http://haacked.com/archive/2008/11/20/anatomy-of-a-subtle-json-vulnerability.aspx
  • 2010年10月14日 – Gmail的JSON劫持攻击技术
    • http://seclists.org/fulldisclosure/2010/Oct/199

 

对于谷歌的JSON劫持Gmail可以用一个附加的while()来无限循环JSON并引起目标受害者的浏览器崩溃,当浏览器企图修补这个问题的时候停止攻击。然而,由于谷歌驱动的脆弱性本质,谷歌不能简单地应用快速修复JSON。为了避免破坏产品的功能,Google Drive需要应对复杂的变化去进行必要的修复。

谷歌的处理方式是将旧的API替换掉,并用一个新的需要额外的安全权限的API取而代之。而这需要使用该API的开发人员更新他们的源码。

攻击案例:

某家公司拥有一个包括了机密信息的电子表格:

2

电子表格只能在公司授权的用户中共享:

3

当某个员工离开公司之后,那么他们的访问权限被删除——共享密码/pin码/电子表格中的密码同时也被删除之后,该员工将不能对这些共享数据进行访问:

4

新的共享设置显示该用户的访问权限被删除:

5

现在,之前被删除的员工希望能够对未授权的电子表格进行访问,这个员工知道,上面名单中的admin.assist@example.com先生喜欢频繁地访问一个网站,而这个网站同时允许任何人在上面发表HTML格式的内容。这个攻击者决定在这个网站上面等待admin.assist@example.com先生,这就是所谓的水坑攻击,而不是像网络钓鱼或者其他更激烈的攻击方式。

被害人/用户访问该网站的屏幕截图:

6

不明真相的受害者就这样将电子表格数据发给了攻击者:

7

那么被窃取的数据长什么样子呢?

(这是被攻击者看不到的内容)

 

8

攻击者看到的数据:

9

这是怎么做到的呢?

有问题的API并不需要从应用程序中引用OAuth token就允许求他网站进行跨站请求。这就导致任何网站都能调用API,并获得当前已登录了谷歌账户的受害者的电子表格的数据。

因为返回的响应是JSON,因此可以利用JavaScript让浏览器信息解析并让被攻击者向服务器发起提交请求。

简单的Exp代码可以在下面找到:

 

JSON劫持代码示例分析:

var google = new Object();

google.visualization = new Object();

google.visualization.Query = new Object();

google.visualization.Query.setResponse = function(goods) {

google.response = JSON.stringify(goods, undefined, 2);

}

API服务的回复将返回一个JSON编码格式的JavaScript对象。这个数据是提供到我们的JSON对象跨域页面中的,所以我们只需要将代码放置到我们想放置的地方就可以了。

尾声:

经过一段时间的提交漏洞请求之后,该漏洞最终在2016年9月15号被彻底修复。

【原文:Google Spreadsheet Vuln – CSRF and JSON Hijacking allows data theft

【Mottoin 小编吐血翻译,未经允许请勿转载】

 

转载请注明来自MottoIN,未经允许不得转载!MottoIN » Google SpreadSheet的CSRF漏洞和JSON劫持漏洞导致数据窃取

分享到:更多 ()

评论 抢沙发

评论前必须登录!

 

MottoIN 换一个角度看安全

寻求报道联系我们