【问题标题】:Google Play Warning: SSL Error Handler Vulnerability have a False Positive for WebViewClient.onReceivedSslErrorHandler SSLGoogle Play 警告:SSL 错误处理程序漏洞对 WebViewClient.onReceivedSslErrorHandler SSL 有误报
【发布时间】:2016-09-22 16:39:20
【问题描述】:

我是刚刚收到notice 的共享library project 的投稿人,我们的一位客户收到了来自 Google Play 商店的此警告,

您好 Google Play 开发者,7 月,提交的应用程序列于 由于执行不安全,此电子邮件的结尾被拒绝 WebViewClient.onReceivedSslErrorHandler。这个实现 忽略所有 SSL 证书验证错误,使您的应用程序 容易受到中间人攻击。攻击者可以改变 影响 WebView 的内容,读取传输的数据(如登录 凭据),并使用 JavaScript 在应用内执行代码。

在查看扩展 WebViewClient 的 AuthorizationWebViewClient 时,我们没有实现 onReceivedSslErrorHandler,这意味着我们属于默认实现,该库是明确的。

如果这是误报或者必须对此库进行更改,我们能否得到确认?

更新: 这是由于存在此漏洞时使用的 SDK 版本较旧,当前代码库没有此问题,因此断开连接。

【问题讨论】:

标签: android android-security


【解决方案1】:

我不确定有问题的具体应用是什么,但有些应用的 com.microsoft.services.msa.AuthorizationRequest$OAuthDialog$AuthorizationWebViewClient 存在漏洞。

例如,反汇编一个应用程序的代码表明它确实有一个 onReceivedSslErrorHandler 实现。

.method public onReceivedSslError(Landroid/webkit/WebView;Landroid/webkit/SslErrorHandler;Landroid/net/http/SslError;)V
    .registers 4
    .param p1, "view"    # Landroid/webkit/WebView;
    .param p2, "handler"    # Landroid/webkit/SslErrorHandler;
    .param p3, "error"    # Landroid/net/http/SslError;

    .prologue
    .line 143
    invoke-virtual {p2}, Landroid/webkit/SslErrorHandler;->proceed()V

    .line 144
    return-void
.end method

【讨论】:

  • 谢谢,这个问题在一年多前的一个版本中得到了修复,看起来这个产品还没有升级他们的版本。过去花了很多时间才发现这是一个问题。是否可以将警告消息中列出的所有模块版本发送给开发人员以加快发现和解决?
  • 问题是没有通用的方法可以知道为什么给定的代码会包含在应用程序中(它是否是 sdk 的一部分,如果是,是哪个版本)。此外,每个 SDK 都有自己的版本控制方案,有些应用程序被混淆了。
  • 您可以克服这些技术挑战,让可怕的体验更加平易近人。我相信你们!
猜你喜欢
  • 1970-01-01
  • 2016-06-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-11-06
  • 1970-01-01
  • 2016-10-18
  • 1970-01-01
相关资源
最近更新 更多