入侵googlegears的跨域通信模型

入侵googlegears的跨域通信模型

ID:24004491

大小:52.50 KB

页数:3页

时间:2018-11-12

入侵googlegears的跨域通信模型_第1页
入侵googlegears的跨域通信模型_第2页
入侵googlegears的跨域通信模型_第3页
资源描述:

《入侵googlegears的跨域通信模型》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、入侵GoogleGears的跨域通信模型~教育资源库  GoogleGears是一个开源产品,它能够开发用于离线使用的网页应用程序。目前,它已经得到许多站点的支持。GoogleGears的特色之一是支持跨域通信,而本文则向读者介绍针对GoogleGears的跨域通信模型的一个漏洞的攻击方法。  一、关于GoogleGears  GoogleGears是一个著名的RIA基础设施,被Google广泛用于各种服务,如GoogleDocs和GoogleReader,同时还可以用于非Google提供的服务,如MySpace、ZohoL、JavaScript、图片等)。无

2、需连接服务器即可访问这些资源。  数据库,在浏览器内部保存和访问数据。  工作人员线程池,通过在后台执行费时的操作使应用程序响应更加迅速。  HttpRequest应用程序接口,实现了LHttpRequest规范的一个子集。  一个Geolocation应用程序接口,使L代码中插入JavaScript来调用Gears的应用程序接口。因此,Gears的独特之处在于它可以很轻松平滑地集成到现有的网络应用程序之中。对于GoogleGears详尽的解释以及用法范例,可以参考GoogleGears网站的如何入门?。  就像其它的RIA基础设施一样,GoogleGears

3、也为开发人员提高了跨域通信能力。这些能力对于开发人员来说是非常重要的,因为能够使得他们在实现mashup及其他所希望的特性时变得更加轻松。然而,跨域通信对于安全性来说则有一些不利影响。一个粗劣实现可能导致攻击者得以突破同源策略,并导致大规模的攻击事件。所以,这种漏洞会导致灾难性的后果。不久之前,人们发现GoogleGears的跨域通信安全模型还不够坚固,因为在某些情况下可以轻而易举地绕过此安全模型。好在Google已经对此进行了改进,所以将此漏洞暴露出来也不算为过了。  二、Gears的跨域通信的实现  让我们假定,我们是e.Site/建立了一个网页,该页面会

4、收集用户在Another.Site/上的经认证的会话中收集有关信息。这些事情,完全可以通过GoogleGears的Url(scriptUrl)方法加载一个GoogleGears工作人员就行了。所谓GoogleGears工作人员实际上就是一段JavaScript代码,用于访问GoogleGears提供的功能部件,如本地服务器、Http通信以及数据库等。  GoogleGears的工作人员可以从远程域载入,但是必须首先调用alloessageObject.origin进行检查,并忽略所有来自非预期域的消息。  下面的描述引自GoogleGears的官方文档:  如

5、果一个工作人员是从不同的域创建的,那么google.gears.factory的所有方法都不得用于该工作人员,直到alloessageObject.origin进行检查,并忽略所有来自非预期域的消息。  三、问题所在  乍一看,这个保护措施似乎是无懈可击的。然而,人们在试用该基础设施的时候发现,GoogleGears工作人员的加载器具有一个相当混乱的策略:它竟然对所加载的Gears工作人员文件的报头视而不见!这实际上是为恶意攻击开了一扇后窗,使得攻击者能够借此在目标网站上植入恶意的Gears工作人员代码。例如,可以上载具有图像后缀的文件,而实际上文件中包含的却

6、是Gears工作人员代码。稍后,GoogleGears工作人员加载器会从其他Domain的执行上下文中加载这些文件,而essage=function(a,b,message){varrequest=google.gears.factory.create('beta.httprequest');request.open('GET','TARGET.SITE/SENSITIVE_PAGE.htm');request.onreadystatechange=function(){if(request.readyState

7、==4){essage.sender);}};request.send();}  上述脚本用于从TARGET.SITE抓取信息,并利用GoogleGears的内建的通信应用程序接口将捕获的信息传递给该脚本的远程调用者。  四、攻击流程  ⒈攻击者创建一个包含恶意的GoogleGears命令的文本文件,这些命令可以用来访问数据库、使用HttpRequest模块等等。  ⒉攻击者设法将文本内容植入目标域,例如TARGET.SITE/Upload/innocent.jpg。Gears的工作人员代码并没有包含可疑的字符,如〈、〉等等。因此,它被TARGET.SITE服

8、务器端过滤掉的可能性不大。  ⒊攻击者

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。