android:exported
使用集合让一切井井有条
根据您的偏好保存内容并对其进行分类。
OWASP 类别:MASVS-PLATFORM:平台互动
概览
android:exported
属性用于设置某个组件(activity、服务、广播接收器等)是否可以由其他应用的组件启动:
- 如果设为
true
,则任何应用都可以访问相应的 activity,并通过其确切类名称启动它。
- 如果设为
false
,则只有同一应用的组件、具有相同用户 ID 的应用或具有特权的系统组件可以启动该 activity。
此属性的默认值背后的逻辑会随时间的推移而发生变化,且会因组件类型和 Android 版本而异。例如,在 API 级别 16 (Android 4.1.1) 或更低版本中,<provider>
元素的值默认设为 true
。如果未明确设置此属性,便存在某些设备之间具有不同默认值的风险。
影响
具有不同默认值的情况意味着可能会意外地公开内部应用组件。下面列出了几种后果作为示例:
拒绝服务攻击。
其他应用通过不当方式访问内部组件以修改应用的内部功能。
敏感数据泄露。
在易受攻击的应用环境中执行代码。
缓解措施
始终明确设置 android:exported
属性。这样便不必进行任何解释,因为已经明确表达了您对组件可见性的意图。
为您推荐
本页面上的内容和代码示例受内容许可部分所述许可的限制。Java 和 OpenJDK 是 Oracle 和/或其关联公司的注册商标。
最后更新时间 (UTC):2023-12-13。
[{
"type": "thumb-down",
"id": "missingTheInformationINeed",
"label":"没有我需要的信息"
},{
"type": "thumb-down",
"id": "tooComplicatedTooManySteps",
"label":"太复杂/步骤太多"
},{
"type": "thumb-down",
"id": "outOfDate",
"label":"内容需要更新"
},{
"type": "thumb-down",
"id": "translationIssue",
"label":"翻译问题"
},{
"type": "thumb-down",
"id": "samplesCodeIssue",
"label":"示例/代码问题"
},{
"type": "thumb-down",
"id": "otherDown",
"label":"其他"
}]
[{
"type": "thumb-up",
"id": "easyToUnderstand",
"label":"易于理解"
},{
"type": "thumb-up",
"id": "solvedMyProblem",
"label":"解决了我的问题"
},{
"type": "thumb-up",
"id": "otherUp",
"label":"其他"
}]
{"lastModified": "\u6700\u540e\u66f4\u65b0\u65f6\u95f4 (UTC)\uff1a2023-12-13\u3002"}
[[["易于理解","easyToUnderstand","thumb-up"],["解决了我的问题","solvedMyProblem","thumb-up"],["其他","otherUp","thumb-up"]],[["没有我需要的信息","missingTheInformationINeed","thumb-down"],["太复杂/步骤太多","tooComplicatedTooManySteps","thumb-down"],["内容需要更新","outOfDate","thumb-down"],["翻译问题","translationIssue","thumb-down"],["示例/代码问题","samplesCodeIssue","thumb-down"],["其他","otherDown","thumb-down"]],["最后更新时间 (UTC):2023-12-13。"]]