本文主要面向发布的应用容易受到文件级跨网站脚本攻击的开发者。
最新动态
您的一个或多个应用中存在必须修复的文件级跨站脚本攻击漏洞。请参阅 Play 管理中心内的通知。在 Play 管理中心内显示的截止日期过后,系统可能会将所有包含未修复安全漏洞的应用从 Google Play 中移除。
需要采取的行动
- 登录您的 Play 管理中心,然后转到“提醒”部分,了解受影响的应用以及解决这些问题的截止日期。
- 更新受影响的应用并修复该漏洞。
- 提交受影响应用的更新版本。
重新提交后,我们会重新审核您的应用。审核过程可能需要几个小时才能完成。如果应用通过审核并成功发布,便无需进一步操作。如果应用未通过审核,则新版应用将无法发布,您会收到电子邮件通知。
更多详细信息
如果 WebView
使用了将 setAllowFileAccessFromFileURLs
或 setAllowUniversalAccessFromFileURLs
设为 true 的 WebSettings
,则不得加载任何不受信任的网络内容。其中包括通过 HTTP 加载的可信网域中的内容。恶意网络内容或网络可以通过注入脚本将 WebView 重定向到恶意本地文件,并发起跨站脚本攻击来访问私有本地文件或 Cookie。
您应该通过以下方式之一来阻止此漏洞:
- 确保 WebView 没有使用危险的设置
- 确保 WebView 无法加载本地文件或执行 JavaScript
- 确保使用了危险设置的 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”标签)。有关您需要采取哪些步骤来解决此问题的说明,请与我们的开发者支持团队联系。