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

相关推荐
baidu_2474386116 小时前
Android ViewModel定时任务
android·开发语言·javascript
有位神秘人17 小时前
Android中Notification的使用详解
android·java·javascript
·云扬·17 小时前
MySQL Binlog落盘机制深度解析:性能与安全性的平衡艺术
android·mysql·adb
独自破碎E18 小时前
【BISHI9】田忌赛马
android·java·开发语言
代码s贝多芬的音符19 小时前
android 两个人脸对比 mlkit
android
darkb1rd21 小时前
五、PHP类型转换与类型安全
android·安全·php
gjxDaniel1 天前
Kotlin编程语言入门与常见问题
android·开发语言·kotlin
csj501 天前
安卓基础之《(22)—高级控件(4)碎片Fragment》
android
峥嵘life1 天前
Android16 【CTS】CtsMediaCodecTestCases等一些列Media测试存在Failed项
android·linux·学习
stevenzqzq1 天前
Compose 中的状态可变性体系
android·compose