说明
- 接着上篇文章app安全测试-逆向工程继续学习
- 可以查看官网top10的说明
M1-平台使用不当
常见类型
糟糕的Web服务强化
- 逻辑缺陷
- 弱认证
- 弱会话管理或没有会话管理
- 会话固定
- 使用GET方法传输的敏感数据
不安全的Web服务器配置
- 默认内容
- 管理界面
- Web服务和支持移动的网站上的注入(SQL,XSS,Command)
- 身份验证缺陷
- 会话管理缺陷
- 访问控制漏洞
- 本地和远程文件包括
实践
- 开发写代码的调试信息中,经常可能会有一些敏感的信息被打印出来,比如用
jd-gui
查看下如下内容:
- 既然是查看日志,完成可以采用直接如
IDE+监控LogCat
的方式
- 还有一种方式,其实就是
adb logcat
过滤日志的方式,也是可行的
M2-不安全的数据存储
敏感数据未加密存储、本地文件未加密、WebView本地明文存储cookie等问题
常见类型
- SQL数据库
- 日志文件
- XML数据存储或清单文件
- 二进制数据存储
- Cookie
- 敏感数据存储到SD卡
- SD卡上的数据可以被任意应用读取
- 云同步
避免方式
- URL缓存(请求和响应)
- 键盘按键缓存
- 复制/粘贴缓冲区缓存
- 应用背景
- 中间数据
- 记录
- HTML5数据存储
- 浏览器cookie对象
- 析数据发送给第三方
实践
- 下载diva apk 解压后把apk文件安装到雷电模拟器上
- 用模拟器打开apk
- 用
jd-gui
打开代码分析,发现使用了sharepreference
存信息到本地
- 用
adb
进入到shell
,找到shared_prefs
,最终使用cat jakhar.aseem.diva_preferences.xml
查看到敏感的信息内容
1 | adb shell |