本文从大方向上介绍安卓APP安全测试维度,一般从三个维度入手:
-
客户端
- 代码安全
- 配置安全
- 存储安全
-
服务端
- 业务逻辑安全
- 应用组件安全
- 系统主机安全
-
通信过程
- 协议安全
- 传输安全
0x01 客户端
1.1 代码安全
1.1.1 APP签名
- 签名证书检测
- 签名机制检测
1.1.2 APP完整性校验
- 二次打包检测
1.1.3 代码保护
- 代码反编译检测
- 重要代码逻辑保护
- 敏感信息泄露检测
1.2 配置安全
1.2.1 AndroidManifest.xml配置
- debug 属性配置
- allowbackup属性配置
1.2.2 四大组件安全
- Activity安全
- Broadcast Receiver安全
- Service安全
- Content Provider安全
1.2.3 webview安全
- webview代码执行漏 洞
- webview默认设置问题
1.2.4 logcat配置安全
- logcat日志输出敏感信息
1.2.5 APP升级安全
- APP升级劫持
1.2.6 APP发布
- 测试数据遗留
- CI/CD文件遗留
1.3 存储安全
- sdcard存储敏感数据
- shared preference全局可读写
- SQLlite存储敏感信息
1.4 其他可选项
- 应用权限滥用
- 键盘记录隐患
- 应用界面截屏
- 模拟器环境检测
- 网络代理检测
- 进程注入保护
- 动态调试保护
- 第三方SDK安全性
0x02 服务端
2.1 业务逻辑安全
业务逻辑和越权类漏洞
2.2 应用组件安全
所用中间件和应用框架类漏洞
2.3 系统主机安全
端口服务和系统主机层漏洞
0x03 通信过程
3.1 协议安全
- 使用安全版本协议
3.2 传输安全
- 传输内容加密
- 服务端证书强校验
以上为博主根据实际经验总结得出,欢迎补充,具体测试方法和工具将会另起博文介绍