修复文件级 XSS 漏洞

本文主要面向发布的应用容易受到文件级跨网站脚本攻击的开发者。

最新动态

您的一个或多个应用中存在必须修复的文件级跨站脚本攻击漏洞。请参阅 Play 管理中心内的通知。Play 管理中心内显示的截止日期过后,系统可能会将所有包含未修复安全漏洞的应用从 Google Play 中移除。

需要采取的行动​

  1. 登录您的 Play 管理中心,然后转到“提醒”部分,了解受影响的应用以及解决这些问题的截止日期。
  2. 更新受影响的应用并修复该漏洞。
  3. 提交受影响应用的更新版本。

重新提交后,我们会重新审核您的应用。审核过程可能需要几个小时才能完成。如果应用通过审核并成功发布,便无需进一步操作。如果应用未通过审核,则新版应用将无法发布,您会收到电子邮件通知。

更多详细信息

如果 WebView 使用了将 setAllowFileAccessFromFileURLssetAllowUniversalAccessFromFileURLs 设为 true 的 WebSettings,则不得加载任何不受信任的网络内容。其中包括通过 HTTP 加载的可信网域中的内容。恶意网络内容或网络可以通过注入脚本将 WebView 重定向到恶意本地文件,并发起跨站脚本攻击来访问私有本地文件或 Cookie。

您应该通过以下方式之一来阻止此漏洞:

  1. 确保 WebView 没有使用危险的设置
  2. 确保 WebView 无法加载本地文件或执行 JavaScript
  3. 确保使用了危险设置的 WebView 不会加载不受信任的网络内容

1. 确保 WebView 没有使用危险的设置

清单中将 android:targetSdkVersion 更新为不低于 16 的值,以便为 WebView 使用安全的默认设置。否则,请调用 setAllowFileAccessFromFileURLs(false)setAllowUniversalAccessFromFileURLs(false),确保其 WebView 安全无虞。

2. 确保 WebView 无法加载本地文件或执行 JavaScript

通过调用 setAllowFileAccess(false) 防止使用了危险设置的 WebView 加载本地文件,或者通过调用 setJavaScriptEnabled(false) 防止使用了危险设置的 WebView 执行 JavaScript 代码。

3. 确保使用了危险设置的 WebView 不会加载不受信任的网络内容

如果 WebView 需要启用这些危险设置,您必须确保它不会加载不受信任的网络内容。其中包括通过 HTTP 加载的网络内容。您可以在清单中设置 android:usesCleartextTraffic=false 或设置禁止 HTTP 流量的网络安全配置。或者,您也可以确保所有使用了危险设置的 WebView 均不会加载采用 HTTP 协议的任何网址。

此外,您还应确保使用了危险设置的 WebView 不会加载从不受信任的来源获取的网址。

我们随时为您提供帮助

如果您针对此漏洞有技术方面的问题,可以在 Stack Overflow 上发帖咨询(使用“android-security”标签)。有关您需要采取哪些步骤来解决此问题的说明,请与我们的开发者支持团队联系。

该内容对您有帮助吗?

您有什么改进建议?
false
主菜单
12903439586995436207
true
搜索支持中心
true
true
true
true
true
5016068
false
false