mirror of
https://github.com/HackTricks-wiki/hacktricks.git
synced 2025-10-10 18:36:50 +00:00
5.6 KiB
5.6 KiB
iOS Pentesting Checklist
{{#include ../banners/hacktricks-training.md}}
准备
数据存储
- Plist 文件 可用于存储敏感信息。
- Core Data(SQLite 数据库)可以存储敏感信息。
- YapDatabases(SQLite 数据库)可以存储敏感信息。
- Firebase 配置错误。
- Realm 数据库 可以存储敏感信息。
- Couchbase Lite 数据库 可以存储敏感信息。
- 二进制 Cookie 可以存储敏感信息
- 缓存数据 可以存储敏感信息
- 自动快照 可以保存视觉敏感信息
- 钥匙串 通常用于存储敏感信息,这些信息在转售手机时可能会被遗留。
- 总之,只需 检查应用程序在文件系统中保存的敏感信息
键盘
日志
- 检查是否 记录了敏感信息
备份
- 备份 可用于 访问文件系统中保存的敏感信息(检查此检查表的初始点)
- 此外,备份 可用于 修改应用程序的一些配置,然后 在手机上恢复 备份,作为 修改后的配置 被 加载 时,某些(安全) 功能 可能会被 绕过
应用程序内存
- 检查 应用程序内存 中的敏感信息
破损的加密
本地身份验证
通过 IPC 暴露敏感功能
- 自定义 URI 处理程序 / 深度链接 / 自定义方案
- 检查应用程序是否 注册了任何协议/方案
- 检查应用程序是否 注册以使用 任何协议/方案
- 检查应用程序 是否期望从自定义方案接收任何类型的敏感信息,该信息可以被注册相同方案的另一个应用程序 拦截
- 检查应用程序 是否未检查和清理 通过自定义方案的用户输入,某些 漏洞可能被利用
- 检查应用程序 是否暴露任何敏感操作,可以通过自定义方案从任何地方调用
- 通用链接
- 检查应用程序是否 注册了任何通用协议/方案
- 检查
apple-app-site-association文件 - 检查应用程序 是否未检查和清理 通过自定义方案的用户输入,某些 漏洞可能被利用
- 检查应用程序 是否暴露任何敏感操作,可以通过自定义方案从任何地方调用
- UIActivity 共享
- 检查应用程序是否可以接收 UIActivities,是否可以利用任何特殊构造的活动来利用漏洞
- UIPasteboard
- 检查应用程序是否 将任何内容复制到通用剪贴板
- 检查应用程序是否 使用通用剪贴板中的数据
- 监控剪贴板以查看是否有任何 敏感数据被复制
- 应用扩展
- 应用程序是否 使用任何扩展?
- WebViews
- 检查使用的 WebViews 类型
- 检查
javaScriptEnabled、JavaScriptCanOpenWindowsAutomatically、hasOnlySecureContent的状态 - 检查 webview 是否可以 访问本地文件,使用协议 file:// (
allowFileAccessFromFileURLs,allowUniversalAccessFromFileURLs) - 检查 Javascript 是否可以访问 Native 方法(
JSContext,postMessage)
网络通信
杂项
{{#include ../banners/hacktricks-training.md}}