Google Play 警告:您的应用包含跨应用脚本漏洞

     2023-04-15     83

关键词:

【中文标题】Google Play 警告:您的应用包含跨应用脚本漏洞【英文标题】:Google Play warning: Your app contains a Cross-App Scripting Vulnerability 【发布时间】:2019-04-05 07:55:38 【问题描述】:

大家好,

我收到一封来自 google play 的电子邮件,内容涉及我发布的一个或多个应用程序中的跨应用程序脚本漏洞。我在我的应用程序中使用 WebView,所以他们说我的应用程序包含 webView 跨应用程序脚本问题,这可能允许恶意应用程序窃取用户 cookie 和其他数据。他们给出了我将要采取的行动,那就是

需要采取行动

请按照以下步骤解决您的应用程序存在的问题(列于本电子邮件末尾)。您可以参阅 Play 管理中心中的通知,了解解决此问题的截止日期。在此截止日期之后,如果漏洞仍然存在,受影响应用程序的更新将被阻止。您发布的 APK 版本将不受影响。 其他详细信息

启用 JavaScript 并加载从不受信任的 Intent 读取的数据的 WebView 可能会被恶意应用欺骗,使其在不安全的上下文中执行 JavaScript 代码。您应该通过以下方式之一防止此漏洞:

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

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

选项 2:保护导出活动中的 WebView

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

更新你的 targetSdkVersion

确保您的 targetSdkVersion 符合 Google Play 的目标 API 级别要求。 targetSdkVersion 为 16 或更低的应用程序在当前加载的页面上下文中评估传递给 loadUrl 的 JavaScript URL。针对 SDK 版本 16 或更低版本并使用来自不受信任的 Intent 的未经处理的输入调用 loadUrl,攻击者可以在受影响的 WebView 中执行有害脚本。

保护对评估Javascript的调用

确保评估Javascript 的参数始终是可信的。使用来自不受信任的 Intent 的未经处理的输入调用 evaluateJavascript,攻击者可以在受影响的 WebView 中执行有害脚本。

防止不安全的文件加载

确保受影响的 WebView 无法加载 cookie 数据库。从不受信任的 Intent 中加载未经处理的 file:// URL 的 WebView 可能会被恶意应用程序以下列方式攻击。恶意网页可以将脚本标签写入 cookie 数据库,然后恶意应用程序可以发送带有指向您的 WebView cookie 数据库的 file:// URL 的 Intent。如果 cookie 数据库加载到 WebView 中,恶意脚本就会执行,并且可以窃取会话信息。

您可以通过两种方式确保受影响的 WebView 无法加载 WebView cookie 数据库。您可以禁用所有文件访问,也可以验证任何加载的 file:// URL 是否指向安全文件。请注意,攻击者可以使用符号链接来欺骗对 URL 路径的检查。为防止此类攻击,请务必在加载之前检查任何不受信任的 file:// URL 的规范路径,而不是仅检查 URL 路径。

所以我的问题是

    如果我进行了电子邮件中提到的更改,这将如何影响我的应用程序?

    我的应用程序的任何功能会被禁用吗?

【问题讨论】:

你解决了吗?我也一样。 【参考方案1】:

进入android Manifest,如果webactivity有android:exported=”true“,改成android:exported=”false“

转到清单,并在 Webview 活动中添加以下行

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

【讨论】:

android:exported 这个元素设置activity是否可以被其他应用程序的组件启动——如果可以,则为“true”,否则为“false”。如果为“false”,则该活动只能由同一应用程序的组件或具有相同用户 ID 的应用程序启动。 developer.android.com/guide/topics/manifest/…【参考方案2】:

答案取决于您使用 WebView 的目的。如果您只是使用 WebView 作为从 HTML 显示用户界面的便捷方式,无论是在您的应用程序中硬编码还是从您的网络服务器加载,您都不会遇到问题。只需遵循选项 1,其他应用将无法对您的 Web 视图进行 CSS 攻击。

如果您的应用旨在让其他应用使用 Web 视图,那么答案会复杂得多。您需要提供更多信息,说明您将 Activity 与 Web 视图一起用于什么目的,以及您的问题中的其他应用应该如何使用它们。

【讨论】:

【参考方案3】:

简单回答您的应用不会有任何变化。 基本上

什么是跨应用脚本 (CAS)?

跨应用程序脚本 (CAS) 是一个影响应用程序的漏洞,这些应用程序不以详尽的方式检查输入。 CAS 允许攻击者插入修改特定应用程序行为的数据。这使得从用户系统内部提取数据成为可能。攻击者在利用 CAS 漏洞时可以获得被攻击应用程序的全部权限;攻击在某种程度上独立于底层操作系统和硬件架构。

所以只需在您的网络应用中进行更改..

访问此网址了解更多信息

https://www.acunetix.com/websitesecurity/cross-site-scripting/

【讨论】:

【参考方案4】:
After a lot of struggle, below things worked for me       


 mWebView.getSettings().setAppCacheMaxSize(0);
 mWebView.getSettings().setAllowFileAccess(false);
 mWebView.getSettings().setAppCacheEnabled(false);

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

【讨论】:

无需删除文件访问权限或禁用应用缓存,只有清单中的以下行将解决问题 【参考方案5】:

我的应用需要使用 WebView 来访问网站和本地文件。我按照电子邮件提供的说明通过了跨应用脚本漏洞安全测试。

    保护对评估Javascript 和 loadUrl 的调用。 防止不安全的文件加载。

第一步是在使用webView.loadUrl方法时,屏蔽使用Javascript URL scheme的URL,即URL以“javascript:”字符串开头。第 2 步是使用 shouldInterceptRequest 方法或 shouldOverrideUrlLoading 方法阻止本地文件 URI,如果本地文件 URI 不属于您的文件夹。

这些更改不会影响我的应用,因为我的 WebView 不需要使用 Javascript URL 方案,并且我的 WebView 不需要访问所有本地文件。

【讨论】:

【参考方案6】:

这次事件后你的排名下降了吗?

【讨论】:

这应该是一个评论,如果你没有特权,请稍等。

无法查看 Google Play 控制台发布警告消息

】无法查看GooglePlay控制台发布警告消息【英文标题】:CannotViewGooglePlayConsoleReleaseWarningMessages【发布时间】:2019-12-1908:48:12【问题描述】:当我尝试在GooglePlay控制台中确认向内部测试人员推出Android应用程序时,我收到以下信息..... 查看详情

PLAY CONSOLE WEB VIEW 跨应用脚本漏洞

...已尝试启用安全浏览(将其设置为YES),但仍然出现来自google的警告。Google建议将setJavaScriptEn 查看详情

Google Play 控制台警告应用正在使用不受支持的 API

】GooglePlay控制台警告应用正在使用不受支持的API【英文标题】:GoogleplayconsolewarningappisusingunsupportedAPI【发布时间】:2020-06-2920:42:57【问题描述】:我已将我的应用上传到googleplay商店,应用报告2个警告以下API已列入灰名单,Google... 查看详情

根据 Google Play 的政策,我的增强现实应用没有足够的关于家长监督的警告

】根据GooglePlay的政策,我的增强现实应用没有足够的关于家长监督的警告【英文标题】:MyAugmentedRealityapphasinsufficientwarningaboutparentalsupervisionaccordingtoGooglePlay\'spolicy【发布时间】:2019-07-2417:52:28【问题描述】:我的应用因这个问... 查看详情

google play 的应用发布流程是不是会读取应用的代码?

】googleplay的应用发布流程是不是会读取应用的代码?【英文标题】:Doesgoogleplay\'sapp-publishingprocessreadtheapp\'scode?googleplay的应用发布流程是否会读取应用的代码?【发布时间】:2019-12-0306:52:45【问题描述】:googleplay的应用发布过... 查看详情

Unity Google Play Console 警告优化 APK

】UnityGooglePlayConsole警告优化APK【英文标题】:UnityGooglePlayConsoleWarningoptimizeAPK【发布时间】:2019-10-2200:56:54【问题描述】:我将Unity游戏上传到GooglePlay管理中心。但我收到了这个警告:未经优化的APK警告:此APK包含未使用和正在... 查看详情

Google Play 和 OpenSSL 警告消息

】GooglePlay和OpenSSL警告消息【英文标题】:GooglePlayandOpenSSLwarningmessage【发布时间】:2014-08-0313:37:51【问题描述】:我刚收到一封来自GooglePlay的电子邮件,内容是:你好,您的一个或多个应用运行的是过时版本的OpenSSL,它有多个... 查看详情

Google Play 和 OpenSSL 警告消息

】GooglePlay和OpenSSL警告消息【英文标题】:GooglePlayandOpenSSLwarningmessage【发布时间】:2014-08-0408:23:55【问题描述】:我刚收到一封来自GooglePlay的电子邮件,内容是:你好,您的一个或多个应用运行的是过时版本的OpenSSL,它有多个... 查看详情

何时在您的应用中检查 Google Play 服务

】何时在您的应用中检查GooglePlay服务【英文标题】:WhentocheckGooglePlayServicesinyourapp【发布时间】:2018-12-2213:41:47【问题描述】:我正在构建一个使用Google地图的应用。我正在关注Google的官方指南并转到此链接:https://developers.googl... 查看详情

使用上传密钥为您的 Flutter 应用签名(Google Play 的应用签名)

】使用上传密钥为您的Flutter应用签名(GooglePlay的应用签名)【英文标题】:SignyourFlutterappwithuploadkey(AppsigningbyGooglePlay)【发布时间】:2021-02-1623:46:08【问题描述】:我已选择加入AppsigningbyGooglePlay。我应该如何在AndroidStudio中配置... 查看详情

需要采取措施:您的应用不符合 Google Play 政策

】需要采取措施:您的应用不符合GooglePlay政策【英文标题】:ActionRequired:YourappisnotcompliantwithGooglePlayPolicies【发布时间】:2021-04-2602:12:10【问题描述】:我在将我的应用程序发送到Play商店中的生产时遇到了一些问题看,当我第一... 查看详情

来自 Google Play 的意图重定向

】来自GooglePlay的意图重定向【英文标题】:IntentRedirectionfromGooglePlay【发布时间】:2021-07-2014:08:07【问题描述】:由于“意图重定向”,我们的应用程序最近多次被拒绝。“您的应用容易受到Intent重定向的影响。”我们找不到此... 查看详情

将 Google Play 服务版本添加到您的应用清单?

】将GooglePlay服务版本添加到您的应用清单?【英文标题】:AddingGooglePlayservicesversiontoyourapp\'smanifest?【发布时间】:2013-11-2116:33:32【问题描述】:我正在关注本教程:https://developers.google.com/maps/documentation/android/start#overview关于如... 查看详情

google play store 警告:App Bundle 包含原生代码,建议上传去混淆文件

】googleplaystore警告:AppBundle包含原生代码,建议上传去混淆文件【英文标题】:googleplaystorewarning:AppBundlecontainsnativecode,andrecommendtouploaddeobfuscationfile【发布时间】:2021-03-2422:32:45【问题描述】:当我尝试在没有任何本机代码的Googl... 查看详情

Google Play 服务 您的应用尚未准备好发布

】GooglePlay服务您的应用尚未准备好发布【英文标题】:GooglePlayServicesYourappisnotreadytobepublished【发布时间】:2016-01-2502:10:10【问题描述】:我正要发布我的游戏,但遇到了障碍。我不明白我被要求做什么,我找不到这个问题的答... 查看详情

从您的应用程序向 Google Play 商店发送费率

】从您的应用程序向GooglePlay商店发送费率【英文标题】:SendratetoGooglePlayStorefromyourapplication【发布时间】:2018-12-0316:16:30【问题描述】:有没有办法将“评分”从您的应用程序发送到GooglePlay商店?如何?我为我的应用程序制作... 查看详情

控制何时在 Google Play 商店上发布您的应用

】控制何时在GooglePlay商店上发布您的应用【英文标题】:ControllingwhentopublishyourappontheGooglePlayStore【发布时间】:2021-06-0409:29:51【问题描述】:我为客户开发了一个应用程序,并准备将其部署到iOSAppStore和GooglePlayStore。客户想要同... 查看详情

React Native - Play 商店警告“从 5 月 5 日开始,您必须让我们知道为啥您的应用需要广泛的存储访问权限”

】ReactNative-Play商店警告“从5月5日开始,您必须让我们知道为啥您的应用需要广泛的存储访问权限”【英文标题】:ReactNative-PlayStoreWarning"StartingMay5thyoumustletusknowwhyyourapprequiresbroadstorageaccess"ReactNative-Play商店警告“从5月5... 查看详情