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 以防发生潜在的滥用行为, 跨应用脚本攻击。

相关推荐
xiaolizi56748913 小时前
安卓远程安卓(通过frp与adb远程)完全免费
android·远程工作
阿杰1000113 小时前
ADB(Android Debug Bridge)是 Android SDK 核心调试工具,通过电脑与 Android 设备(手机、平板、嵌入式设备等)建立通信,对设备进行控制、文件传输、命令等操作。
android·adb
梨落秋霜13 小时前
Python入门篇【文件处理】
android·java·python
遥不可及zzz16 小时前
Android 接入UMP
android
Coder_Boy_18 小时前
基于SpringAI的在线考试系统设计总案-知识点管理模块详细设计
android·java·javascript
冬奇Lab19 小时前
【Kotlin系列03】控制流与函数:从if表达式到Lambda的进化之路
android·kotlin·编程语言
冬奇Lab19 小时前
稳定性性能系列之十二——Android渲染性能深度优化:SurfaceFlinger与GPU
android·性能优化·debug
冬奇Lab20 小时前
稳定性性能系列之十一——Android内存优化与OOM问题深度解决
android·性能优化
用户745890020795421 小时前
线程池
android