Android安全开发之WebView中的地雷.docxVIP

  1. 1、本文档共11页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Android 安全开发之 WebView 中的地雷 Android 安全 WebView 应用保护 App 漏洞 移动安全 0X01 AboutWebView 在 Android 开发中,经常会使用 WebView 来实现 WEB 页面的展示,在 Activiry 中启动自己的浏览器,或者简单的展示一些在线内容等。 WebView 功能强大,应用广泛,但它是天使与恶魔的合体,一方面它增强了 APP 的上网体验,让 APP 功能更多样化,另一方面它也引入了很多的安全问题。在过去几年 WebView 中被披露的重大漏洞包括了任意代码执行漏洞、跨域、密码明文保存等,这些安全问题可以直接导致用户敏感信息泄露,移动终端被恶意攻击者控制。下文将详细介绍这一系列安全问题,罗列相关的一些案列,并提供相应安全开发建议。 0X02 WebView 任意代码执行漏洞 已知的 WebView 任意代码执行漏洞有 4 个。较早被公布是CVE-2012-6636,揭露了 WebView 中 addJavascriptInterface 接口会引起远程代码执行漏洞。接着是 CVE-2013-4710,针对某些特定机型会存在 addJavascriptInterface API 引起的远程代码执行漏洞。之后是 CVE-2014-1939 爆出 WebView 中内置导出的 “searchBoxJavaBridge_”Java Object 可能被利用,实现远程任意代码。再后来是 CVE-2014-7224,类似于 CVE-2014-1939,WebView内置导出“accessibility”和“accessibilityTraversal”两个 Java Object 接口,可被利用实现远程任意代码执行。 后文我们将围绕下面这段常见的示例代码展开: WebViewmWebView = (WebView)findViewById(R.id.webView); ①WebSettingsmsetting = mWebView.getSettings(); ②msetting.setJavaScriptEnabled(true); ③mWebView.addJavascriptInterface(new TestAddJsInterface(), 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 年,研究人员 Daoyuan Wu 和 Rocky Chang 发现,当系统辅助功能服务被开启时,在 Android4.4 以下的系统中,由系统提供的 WebView 组件都默认导出accessibility 和accessibilityTraversal这两个接口,代码位于“android/webkit/Accessi

文档评论(0)

mmmttt + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档