查看: 8|回复: 0

[相关教程] smali代码审计:从AndroidManifest到权限漏洞挖掘的思路

[复制链接]

96

主题

5

回帖

951

积分

UID
2
贡献
9 点
钻石
7 个
C币
993 个
发表于 2026-5-29 03:23:02 | 显示全部楼层 |阅读模式


apktool反编译出来的smali代码看着头疼,但找漏洞其实有套路。这篇说说我做审计的思路。

第一步永远先看AndroidManifest.xml。重点看几个东西:exported为true的组件有没有做权限校验,有没有配intent-filter的Activity和Service暴露给外部,有没有grantUriPermission。很多越权漏洞就是因为一个exported的Activity没做鉴权。

第二步看权限定义。如果应用自定义了permission然后protectionLevel设的normal或者dangerous,这个权限随便就能被恶意应用申请到。如果设的signature,至少要签名一致才能用。

第三步进smali搜敏感API调用。用grep搜getDeviceId、getIMEI、SmsManager、HttpClient、FileOutputStream这些关键词,找到调用点后逆向追数据流,看输入来源是不是用户可控的。比如一个Activity的getIntent参数直接拼进了SQL语句,这就是注入点。

smali代码看着慢但有个好处:不会像Java反编译那样丢信息。jadx反编译有时候会把关键逻辑优化掉或者反编译失败,smali是字节码的直接表示,不会骗你。配合jadx看Java层、apktool看smali层,两层对照着审效率最高。
温馨提示:
1、在论坛里发表的文章仅代表作者本人的观点,与本网站立场无关。
2、论坛的所有内容都不保证其准确性,有效性,时间性。阅读本站内容因误导等因素而造成的损失本站不承担连带责任。
3、当政府机关依照法定程序要求披露信息时,论坛均得免责。
4、若因线路及非本站所能控制范围的故障导致暂停服务期间造成的一切不便与损失,论坛不负任何责任。
5、注册会员通过任何手段和方法针对论坛进行破坏,我们有权对其行为作出处理。并保留进一步追究其责任的权利。
6、网络世界也请遵守我国的法律法规!一旦发现违法行为,将立即封存相关信息并报警处理!
回复

使用道具 举报

温馨提示:
1、在论坛里发表的文章仅代表作者本人的观点,与本网站立场无关。
2、论坛的所有内容都不保证其准确性,有效性,时间性。阅读本站内容因误导等因素而造成的损失本站不承担连带责任。
3、当政府机关依照法定程序要求披露信息时,论坛均得免责。
4、若因线路及非本站所能控制范围的故障导致暂停服务期间造成的一切不便与损失,论坛不负任何责任。
5、注册会员通过任何手段和方法针对论坛进行破坏,我们有权对其行为作出处理。并保留进一步追究其责任的权利。
6、网络世界也请遵守我国的法律法规!一旦发现违法行为,将立即封存相关信息并报警处理!
您需要登录后才可以回帖 登录 | 立即加入

本版积分规则

QQ客服返回顶部