OWASP 类别: MASVS-PLATFORM:平台交互
概述
该 android:exported
属性 设置组件(活动、服务、广播接收器等)是否可以由其他应用的组件启动
- 如果
true
,则任何应用都可以访问该活动并通过其确切的类名启动它。 - 如果
false
,则只有同一应用的组件、具有相同用户 ID 的应用或特权系统组件才能启动该活动。
此属性的默认值的逻辑随着时间的推移而改变,并且根据组件类型和 Android 版本的不同而不同。例如,在 API 级别 16(Android 4.1.1)或更低版本上,<provider>
元素的默认值为 true
。不显式设置此属性会带来某些设备之间默认值不同的风险。
影响
默认值不同的情况意味着您可能会意外地公开内部应用组件。后果的一些示例如下
拒绝服务攻击。其他应用不适当地访问内部组件以修改应用的内部功能。敏感数据泄露。在易受攻击的应用的上下文中执行代码。
缓解措施
始终显式设置 android:exported
属性。这将消除任何歧义,并明确表明您对组件可见性的意图。
为您推荐
- 注意:当 JavaScript 关闭时,将显示链接文本
- # 密钥管理 {:#key-management}
- 直接从 APK 运行嵌入式 DEX 代码
- 点击劫持