Google Play 跨应用脚本漏洞(Cross-App Scripting)

聊一个Google Play 应用下架的案例

该图片其实有2个重要信息

第一个是这是一封需要采取进一步行动 通知邮件,且有一个截止处理时间-2025年4月29日,不处理应用就会被下架

第二个是跨应用脚本是什么东西?

咱们先来聊第一个

需要采取进一步行动 通知邮件

首先这个是给到了开发者处理问题的缓冲时间,如果不处理才会应用下架。

所以针对开发者账号的收件箱,需要及时去查看是否有值得关注的邮件内容,如果你一个月去关注一次,应用很可能就会被下架了。

建议增加 开发者账号&Gmail邮件&应用在架状态 相关监控或者检查机制,否则错误关注此类重要信息,带来的损失就不美妙了。

跨应用脚本

官方解释文档:跨应用脚本 | Security | Android Developers

官方解决文档:修复跨应用脚本漏洞 - Google帮助

1. 什么是跨应用脚本?

WebView 是 Android 应用中的一种嵌入式浏览器组件, 便于在应用中显示 Web 内容。它可以呈现 HTML、CSS 和 应用界面中的 JavaScript。跨应用脚本攻击与在受害应用环境中执行恶意代码密切相关。

如果应用在没有进行充分验证或净化的情况下将恶意 JavaScript 接受到 WebView 中,则该应用容易受到跨应用脚本攻击。

所以这个问题一般这个都是WebView产生的。

2.解决办法

截图中其实也清晰的指明了是那个Activity,所以还是很好进行定位的。

采用以下任何一个选项即可解决

选项一、AndroidManifest 清单文件设置对应WebViewActivity exported="false"

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

选项二、代码处理WebViewActivity

  1. 停用停用 JavaScript 这个基本不太现实,不考虑
  2. 防止不安全的文件加载

allowFileAccess = false停用文件访问权限。

默认情况下,系统会将 setAllowFileAccess 设为 True API 级别 29 及更低级别(将允许访问本地文件)。

在 API 级别 30 及更高级别中,默认值为 False。为确保不允许访问文件,请将 setAllowFileAccess 明确设置为 False

allowContentAccess = false停用内容访问权限。

setAllowContentAccess 的默认设置为 True。通过内容网址访问权限,WebView 可以从内容加载内容 提供程序。如果您的应用不需要内容访问权限, 将 setAllowContentAccess 设为 False 以防发生潜在的滥用行为, 跨应用脚本攻击。

相关推荐
小趴菜822718 分钟前
安卓接入Kwai广告源
android·kotlin
2501_9160137439 分钟前
iOS 混淆与 App Store 审核兼容性 避免被拒的策略与实战流程(iOS 混淆、ipa 加固、上架合规)
android·ios·小程序·https·uni-app·iphone·webview
程序员江同学2 小时前
Kotlin 技术月报 | 2025 年 9 月
android·kotlin
码农的小菜园2 小时前
探究ContentProvider(一)
android
时光少年4 小时前
Compose AnnotatedString实现Html样式解析
android·前端
hnlgzb5 小时前
安卓中,kotlin如何写app界面?
android·开发语言·kotlin
jzlhll1235 小时前
deepseek kotlin flow快生产者和慢消费者解决策略
android·kotlin
火柴就是我5 小时前
Android 事件分发之动态的决定某个View来处理事件
android
一直向钱5 小时前
FileProvider 配置必须针对 Android 7.0+(API 24+)做兼容
android
zh_xuan5 小时前
Android 消息循环机制
android