微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

您的应用正在使用易受跨应用脚本攻击的 WebView Android PlayStore 警告

如何解决您的应用正在使用易受跨应用脚本攻击的 WebView Android PlayStore 警告

在 whistleIt 中,我们在 webview 中加载静态 url 并处理通知和其他事情,但在最后 2 个版本中我们收到警告

您的应用正在使用易受跨应用脚本攻击的 WebView

我们没有在我们的活动中使用 android:exported=”true“,我也在 Webview 活动中使用以下代码,但仍然收到警告电子邮件

<Meta-data android:name="android.webkit.WebView.EnableSafebrowsing"
android:value="true" />

我现在应该怎么做才能删除我们的警告?

解决方法

根据https://support.google.com/faqs/answer/9084685?hl=en-GB

你可以做两件事

1 确保不导出受影响的活动

查找具有受影响 WebView 的任何活动。如果这些活动没有 需要从您可以设置的其他应用程序中获取 Intent android:exported=false 用于清单中的活动。这 确保恶意应用程序无法向任何 WebViews 发送有害输入 在这些活动中。

2 保护导出活动中的 WebView

如果要将受影响的 WebView 设置为导出的 Activity 那么我们建议您进行以下更改:

1 保护对evaluateJavascript 和loadUrl 的调用

确保参数 评估Javascript 总是值得信赖的。调用评估Javascript 使用来自不受信任意图的未经处理的输入让攻击者执行 受影响的 WebView 中的有害脚本。同样,调用 loadUrl 使用包含 javascript: 方案 URLs 的未经处理的输入让 攻击者执行有害脚本。

2 防止不安全的文件加载

确保受影响的 WebView 无法加载 cookie 数据库。加载未经处理的 file:// URLs 的 WebViews 恶意应用程序可以通过两个步骤攻击不受信任的意图。 第一步:恶意网页可以将标签写入 饼干数据库。第二步:这个修改后的cookies数据库文件可以 如果恶意应用程序发送带有 file:// URL 的意图,则加载 指向您的 WebView cookie 数据库,或者如果恶意网站 页面本身会将您的 WebView 重定向到文件 URL。恶意

存储在 cookie 数据库中将加载和执行,其中 可以窃取会话信息。

您可以确保受影响的 WebView 无法加载 WebView cookie 数据库的三种方式。

  1. 禁用所有文件访问。
  2. 确保 WebView 只加载 file:// URLs 并验证任何加载的 file:// URLs 指向安全 文件。请注意,攻击者可以使用符号链接来欺骗检查 在 URL 路径上。为防止此类攻击,请确保检查 加载前任何不受信任的文件的规范路径:// URL 而不是仅仅检查 URL 路径。
  3. 如果你想同时允许 http:// URLs 和 file:// URLs,实现 file:// URLs 使用 shouldOverrideUrlLoading 和 WebViewClient 中的 shouldInterceptRequest。这可确保所有 URL 加载到 WebView 中进行验证,不限于直接对 URL 进行验证 提供给 loadUrl() 函数调用。
,

请在您的项目 manifest.xml 中添加这行代码

<meta-data android:name="android.webkit.WebView.EnableSafeBrowsing"
 android:value="true" />

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。