移动应用安全测试不能只看客户端,而要覆盖客户端、通信链路、服务端 API、业务逻辑和隐私合规。路径是:威胁建模-信息收集-静态分析-动态分析-漏洞挖掘与利用-报告与修复建议。
一,步骤
威胁建模与信息收集
参考STRIDE模型识别欺骗、篡改、信息泄露、拒绝服务、权限提升等风险。
反编译 APK 或 IPA,提取硬编码密钥、API 地址、第三方 SDK、证书文件等。
抓取 App 与服务器的通信接口,整理出完整的 API 资产清单。
静态分析
不运行应用,直接分析安装包或源码。
检查:代码混淆、反调试、完整性校验、Root/越狱检测是否到位;是否硬编码敏感信息;是否使用不安全 API;第三方 SDK 是否存在已知漏洞。
常用工具:MobSF 可快速完成自动化静态扫描并生成报告;jadx、apktool 用于 Android 反编译;Ghidra、Hopper 用于二进制逆向分析。
动态分析
在应用运行时观察真实行为。
目标:绕过 SSL Pinning,拦截 HTTPS 流量;检查本地数据存储是否安全;测试 Root/越狱检测机制;分析加密逻辑和运行时参数。
常用工具:Frida 做运行时 Hook;Objection 简化 Frida 操作;Burp Suite 或 mitmproxy 做中间人代理;Xcode、Android Studio 做调试。
本地存储看Android的SharedPreferences、SQLite、文件目录,以及iOS的 Keychain、NSUserDefaults、沙盒文件。
漏洞挖掘与利用
服务端 API 是移动应用安全的重灾区。重点测对象级授权、越权访问、频率限制、参数校验、认证会话、令牌失效、批量注册、短信轰炸等。
业务逻辑漏洞要结合场景手工测,例如支付金额篡改、优惠券重复领取、订单状态绕过、签到作弊、积分兑换等。
客户端看Android组件导出、WebView JavaScript接口、Intent劫持、Content Provider泄露;iOS看URL Scheme、Universal Links、剪贴板、日志、键盘缓存。
合规与报告
测试结果应能映射到OWASP MASVS八大类:存储、加密、认证、网络、平台、代码、韧性、隐私。国内项目还需考虑等保 2.0 对移动互联的安全扩展要求。
报告应包含漏洞详情、概念验证、风险影响、修复建议,并尽量给出可复现步骤和证据截图。
二、常用工具
MobSF:一体化静态与动态分析,适合快速上手。
Frida:运行时插桩,绕过 Root 检测、SSL Pinning,分析加密逻辑。
Objection:基于 Frida 的命令行工具,方便检查文件系统、导出 Keychain。
Burp Suite:拦截、查看和修改 App 与服务器的 HTTP/S 通信。
mitmproxy:轻量级代理,适合脚本化流量分析。
jadx、apktool:Android 反编译与资源提取。
Ghidra、Hopper:二进制逆向分析,尤其适合 iOS Mach-O。
Xcode、Android Studio:官方调试与运行时分析。
三、平台差异
Android:组件导出、WebView、Intent、Broadcast Receiver、Content Provider、SharedPreferences 明文存储。
iOS:Keychain 数据保护、URL Scheme 劫持、Universal Links 越权、NSUserDefaults 明文存储、越狱环境下的运行时测试。
四、实战案例
测试客户的某交易所App曾被发现Android和iOS均将会话令牌明文存储在本地,攻击者获得设备访问权后可直接窃取账户。同时其服务端API存在对象级授权漏洞,任何登录用户都能查看他人私密动态。修复方案是把授权检查从客户端转移到服务端强制执行。
五、测试顺序
先用MobSF做快速静态扫描,再抓包梳理API;然后用Frida或Objection绕过安全检测,配合Burp Suite测服务端接口最后集中手工测试业务逻辑和权限控制,输出报告。服务端API始终是移动应用安全测试的重中之重。