Last updated 6 days ago
使用 Trickest 轻松构建和 自动化工作流程,由世界上 最先进 的社区工具提供支持。 立即获取访问权限:
查看 订阅计划!
加入 💬 Discord 群组 或 电报群组 或 在 Twitter 🐦 @hacktricks_live** 上关注我们。**
通过向 HackTricks 和 HackTricks Cloud github 仓库提交 PR 来分享黑客技巧。
阅读 iOS 基础
阅读 iOS 测试环境 准备你的环境
阅读 iOS 初步分析 的所有部分,以了解对 iOS 应用程序进行渗透测试的常见操作
Plist 文件 可用于存储敏感信息。
Core Data (SQLite 数据库) 可存储敏感信息。
YapDatabases (SQLite 数据库) 可存储敏感信息。
Firebase 配置错误。
Realm 数据库 可存储敏感信息。
Couchbase Lite 数据库 可存储敏感信息。
二进制 Cookie 可存储敏感信息。
缓存数据 可存储敏感信息。
自动快照 可保存视觉敏感信息。
钥匙串 通常用于存储在转售手机时可能遗留的敏感信息。
总之,只需 检查应用程序在文件系统中保存的敏感信息
应用程序是否 允许使用自定义键盘?
检查是否在 键盘缓存文件 中保存了敏感信息。
检查是否 记录了敏感信息。
备份 可用于 访问文件系统中保存的敏感信息(检查此检查表的初始点)。
此外,备份 可用于 修改应用程序的一些配置,然后 在手机上恢复 备份,作为 修改后的配置 被 加载,某些(安全) 功能 可能会被 绕过。
检查 应用程序内存 中的敏感信息。
检查是否可以找到 用于加密的密码。
检查是否使用 过时/弱算法 来发送/存储敏感数据。
挂钩并监控加密函数。
如果应用程序中使用了 本地身份验证,则应检查身份验证的工作方式。
如果使用的是 本地身份验证框架,则可能很容易被绕过。
如果使用的是 可以动态绕过的函数,则可以创建自定义 frida 脚本。
自定义 URI 处理程序 / 深度链接 / 自定义方案
检查应用程序是否 注册了任何协议/方案。
检查应用程序是否 注册以使用 任何协议/方案。
检查应用程序 是否期望从自定义方案接收任何类型的敏感信息,该信息可以被注册相同方案的另一个应用程序 拦截。
检查应用程序 是否未检查和清理 通过自定义方案的用户输入,某些 漏洞可能被利用。
检查应用程序 是否暴露任何敏感操作,可以通过自定义方案从任何地方调用。
通用链接
检查应用程序是否 注册了任何通用协议/方案。
检查 apple-app-site-association 文件。
apple-app-site-association
UIActivity 共享
检查应用程序是否可以接收 UIActivities,是否可以利用任何特殊构造的活动中的漏洞。
UIPasteboard
检查应用程序是否 将任何内容复制到通用剪贴板。
检查应用程序是否 使用通用剪贴板中的数据。
监控剪贴板以查看是否有任何 敏感数据被复制。
应用扩展
应用程序是否 使用任何扩展?
WebViews
检查使用了哪种类型的 webviews。
检查 javaScriptEnabled、JavaScriptCanOpenWindowsAutomatically、hasOnlySecureContent 的状态。
javaScriptEnabled
JavaScriptCanOpenWindowsAutomatically
hasOnlySecureContent
检查 webview 是否可以 访问本地文件,协议为 file:// (allowFileAccessFromFileURLs、allowUniversalAccessFromFileURLs)。
allowFileAccessFromFileURLs
allowUniversalAccessFromFileURLs
检查 Javascript 是否可以访问 Native 方法(JSContext、postMessage)。
JSContext
postMessage
执行 MitM 进行通信 并搜索网络漏洞。
检查 证书的主机名 是否被检查。
检查/绕过 证书钉扎。
检查 自动修补/更新 机制。
检查 恶意第三方库。
学习和实践 AWS 黑客技术:HackTricks 培训 AWS 红队专家 (ARTE) 学习和实践 GCP 黑客技术: HackTricks 培训 GCP 红队专家 (GRTE)