You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Google Play应用因intent redirection漏洞被拒,设置exported="false"仍无效如何处理?

Google Play Intent重定向漏洞驳回修复排查指南

Intent重定向漏洞的核心风险是应用接收不可信的外部Intent后,未校验就将其(或其携带的参数)转发给其他组件,恶意应用可利用该逻辑绕过权限限制、访问应用私有组件或系统组件。仅配置所有Activity的exported="false"不能完全规避风险,因为漏洞可能出现在其他组件、动态注册的组件、Intent转发逻辑中。

  • 全量校验所有组件的导出配置
    除了Activity之外,还要检查AndroidManifest.xml中所有service、receiver、provider组件的exported属性:
    • Target SDK >= 31的应用必须为所有组件显式声明exported属性,未显式声明的组件会被系统默认标记为导出,存在风险
    • 检查动态注册的广播接收器:动态注册的广播默认全局可接收,若无需接收外部广播,可通过registerReceiver时指定自定义权限限制访问,或仅接收应用内部发送的带特定权限的广播
  • 排查所有Intent转发逻辑
    全局搜索代码中所有调用startActivity()、startService()、sendBroadcast()、PendingIntent.getActivity()/getService()/getBroadcast()的位置,检查传入的Intent是否存在以下风险场景:
    • 直接使用从外部Intent的getParcelableExtra()方法获取的Intent对象进行跳转
    • 直接将外部Intent携带的action、data、component、flags参数赋值给新构造的Intent后跳转
      上述场景均属于典型的intent重定向风险点,必须全部整改。
  • 新增Intent跳转白名单校验规则
    所有涉及外部参数的Intent跳转,必须执行严格的白名单校验:
    1. 禁止直接转发外部传入的完整Intent对象,必须自行构造新的Intent,仅赋值业务需要的白名单字段
    2. 若业务需要跳转到第三方应用,必须对目标包名做白名单校验,示例校验逻辑如下:
    // 仅允许跳转到白名单内的应用
    boolean isAllowJump = false;
    String allowPkg = "com.xxx.allowedapp";
    if (targetIntent.getComponent() != null && allowPkg.equals(targetIntent.getComponent().getPackageName())) {
        isAllowJump = true;
    } else if (targetIntent.getPackage() != null && allowPkg.equals(targetIntent.getPackage())) {
        isAllowJump = true;
    }
    if (isAllowJump) {
        startActivity(targetIntent);
    } else {
        // 拦截非法跳转
    }
    
    1. 禁止为不可信的Intent添加FLAG_ACTIVITY_NEW_TASK、FLAG_GRANT_READ_URI_PERMISSION、FLAG_GRANT_WRITE_URI_PERMISSION等标记,避免权限泄露。
  • 排查WebView的跳转逻辑
    若应用集成了WebView,检查是否存在通过Intent.parseUri()解析网页url直接跳转的逻辑,该场景是重定向漏洞的高发区:
    • 所有从WebView解析得到的Intent,必须经过包名白名单校验后才可跳转
    • 禁止为WebView生成的Intent授予URI读写权限
  • 本地复测验证
    修复完成后可手动构造测试用例验证:通过adb构造包含恶意跳转参数的Intent发送到应用的各个公开入口,验证所有非法跳转是否都被拦截。
    重新提交审核时,可在审核备注中清晰说明你完成的整改点,帮助审核人员快速确认修复效果。

内容的提问来源于stack exchange,提问作者vedikin

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.01 03:54:04