- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
【御安全】Android安全开发之WebView中的地雷
【腾讯御安全】Android安全开发之
WebView中的地雷
0X01AboutWebView
在Android开发中,经常会使 WebView来实现WEB页面的展示 ,
在Activiry中启动自己的浏览器,或者简单的展示一些在线内容等。
WebView功能强大 ,应用广泛 ,但它是天使与恶魔的合体 ,一方面它
增强了APP的上网体验 ,让APP功能更多样化 ,另一方面它也引入了
很多的安全问题。在过去几年WebView中被披露的重大漏洞包括了任
意代码执行漏洞、跨域、密码明文保存等 ,这些安全问题可以直接导致
用户敏感信息泄露 ,移动终端被恶意攻击者控制。下文将详细介绍这一
系列安全问题,罗列相关的一些案列,并提供相应安全开发建议。
0X02WebView任意代码执行漏洞
已知的WebView任意代码执行漏洞有4个。较早被公布是
CVE-2012-6636 ,揭露了WebView中addJavascriptInterface接口
会引起远程代码执行漏洞。接着是CVE-2013-4710 ,针对某些特定机
型会存在addJavascriptInterfaceAPI引起的远程代码执行漏洞。之后
是CVE-2014-1939爆出WebView中内置导出的
“searchBoxJavaBridge_”JavaObject可能被利 ,实现远程任意代
码。再后来是CVE-2014-7224 ,类似于CVE-2014-1939 ,WebView
内置导出 “accessibility”和 “accessibilityTraversal”两个JavaObject
接口,可被利用实现远程任意代码执行。
后文我们将围绕下面这段常见的示例代码展开:
WebView mWebView =(WebView)findViewById(R.id.webView);
①WebSettings msetting =mWebView.getSettings();
②msetting.setJavaScriptEnabled(true);
③mWebView.addJavascriptInterface(newTestAddJsInterface(),
myjs);
④mWebView.loadUrl(getIntent().getStringExtra(url));
CVE-2012-6636
Android系统为了方便APP中Java代码和网页中的Javascript脚本交
互 ,在WebView控件中实现了addJavascriptInterface接口 ,对应示
例代码中的③ ,网页中的JS脚本可以利用接口 “myjs”调 App中的
Java代码 ,而Java对象继承关系会导致很多Public的函数及getClass
函数都可以在JS中被访问,结合Java的反射机制 ,攻击者还可以获得
系统类的函数 ,进而可以进行任意代码执行。漏洞在2013年8月被披
露后 ,很多APP都中招 ,其中浏览器APP成为重灾区。但截至目前任
有很多APP中依然存在此漏洞,与以往不同的只是攻击入口发生了一
定的变化。另外我们也发现一些小厂商的APP开发团队因为缺乏安全
意识,依然还在APP中随心所欲的使 addjs接口,明目张胆踩雷。
出于安全考虑,Google在API 17中规定允许被调用的函数必须以
@JavascriptInterface进行注解,理论上如果APP依赖的API为17
或者以上,就不会受该问题的影响。但部分机型上,API 17依然受影
响 ,并且如果APP存在此漏洞 ,且targetsdk小于 17,那漏洞的影响
可以覆盖到android4.4的终端,如果大于等于17,只能在android4.2
的机型上触发,所以前一种情况的危害目前来看依旧很大。
CVE-2014-1939
在2014年发现在Android4.4以下的系统中,webkit中默认内置了
“searchBoxJavaBridge_” ,代码位于
“java/android/webkit/BrowserFrame.java”,该接口同样存在远程
代码执行的威胁。
CVE-2014-7224
在2014年,研究人员 DaoyuanWu和 RockyChang发现,当系统
辅助功能服务被开启时 ,在Android4.4以下的系统中 ,由系统提供的
WebView组件都默认导出accessibility和accessibilityTraversal
这两个接口 ,代码位于 “android/webkit/Accessib
文档评论(0)