当前位置:安全客 >> 知识详情

Google Play商店XFO Gap引发安卓远程代码执行漏洞

2015-02-11 16:06:06 阅读:0次 收藏 来源: 360安全播报

http://p6.qhimg.com/t010cc3a614599fff08.jpg

由于Google Play 商店网络应用域缺乏对X-Frame-Options (XFO)的完整覆盖,导致恶意用户可利用Google Play Store网络应用中特定区域的XSS漏洞或者针对受影响浏览器的UXSS漏洞,远程安装并启动任意Play Store提供的APK。

受影响的平台

许多安卓4.3版本(Jelly Bean)及更早版本带有UXSS的浏览器,如Rapid7博客中讨论的那样。这些平台的用户可能也安装了脆弱的售后浏览器(aftermarket browser),如TrendLabs博客中提到的那样。在易受攻击的群体中,许多用户会习惯性地登录到Google服务如GmailHuo YouTube。这些移动平台受到的风险最大。其他浏览器可能也会受影响。

XFO Gap的简化演示

以下Javascript足以从没有合适XFO头信息play.google.com域名中引发响应:

document.body.innerHTML="<iframe src='https://play.google.com/store/apps/"+   
 (new Array(2000)).join('aaaaaaa')+"'></iframe>"


以下Ruby脚本同样说明了缺少XFO的情况:

require 'net/http'  
require 'uri'  
uri = URI.parse("https://play.google.com/#{"a" * 10000}")  
@r = Net::HTTP.get_response uri  
ret = @r.each_header {|x| puts x}  
if ret["x-frame-options"]  
 puts ret["x-frame-options"]  
else  
 puts "Missing x-frame-options!"  
end


缓解措施

通过使用不易被人们知道的UXSS漏洞如Google Chrome、Mozilla Firefox或海豚浏览器,能够为play.google.com域缺少通用XFO的情况。在不登陆Google账户情况下使用任何浏览器也是一种有效的缓解方式。

Metasploit模块描述

Metasploit模块将两个漏洞结合可在受影响的安卓设备实现远程代码执行。首先,这个模块使用出现在4.4版本之前的安卓开源stock 浏览器(AOSP浏览器)以及其他浏览器的漏洞。其次,Google Play商店的网络界面无法执行X-Frame-Options:否决一些错误页面上的头信息,因此被当做目标实施脚本注入。这会通过Google Play的远程安全特征进行远程代码执行,就像任何Google Play商店中的任何app都可被安装并发布在用户设备上那样。

鸣谢

Google Play商店的XFO漏洞时Rapid 7公司的Joe Vennix报告的,Rafay Baloch报告了UXSS漏洞。

时间轴

2014年12月12日(周六):首先披露给security@android.com,分配的发布ID为4- 2061000005664

2015年1月7日(周三):披露给CERT/CC,分配为VU#715092

2015年2月10日(周二):披露公开并置于Metaploit模块


本文由 安全客 翻译,转载请注明“转自安全客”,并附上链接。
原文链接:https://community.rapid7.com/community/metasploit/blog/2015/02/10/r7-2015-02-google-play-store-x-frame-options-xfo-gaps-enable-android-remote-code-execution-rce

参与讨论,请先 | 注册 | 匿名评论
发布
用户评论
无任何评论