跳过内容
OWASP 移动应用安全
MASVS-代码-2
正在初始化搜索
OWASP/mastg
OWASP 移动应用安全
MASWE (测试版)
MASTG
MASVS
MAS 清单
MAS 破解练习
新闻
🎙 讲座
⭐ 贡献
💙 捐赠
💬 联系我们
OWASP 移动应用安全
OWASP/mastg
OWASP 移动应用安全
MASWE (测试版)
MASWE (测试版)
MASVS-存储
MASVS-存储
MASWE-0001: 敏感数据插入日志
MASWE-0002: 内部位置敏感数据存储访问限制不足
MASWE-0003: 备份未加密
MASWE-0004: 敏感数据未从备份中排除
MASWE-0006: 敏感数据未加密存储在私有存储位置
MASWE-0007: 敏感数据未加密存储在不需要用户交互的共享存储中
MASVS-加密
MASVS-加密
MASWE-0009: 不当的密码密钥生成
MASWE-0010: 不当的密码密钥派生
MASWE-0011: 未实现密码密钥轮换
MASWE-0012: 密码密钥使用不安全或错误
MASWE-0013: 使用硬编码密码密钥
MASWE-0014: 静态密码密钥未得到适当保护
MASWE-0015: 已弃用的 Android KeyStore 实现
MASWE-0016: 导入密码密钥处理不安全
MASWE-0017: 导出密码密钥时未得到适当保护
MASWE-0018: 密码密钥访问未受限
MASWE-0019: 风险密码学实现
MASWE-0020: 不当加密
MASWE-0021: 不当哈希
MASWE-0022: 可预测的初始化向量 (IVs)
MASWE-0023: 风险填充
MASWE-0024: 消息认证码 (MAC) 使用不当
MASWE-0025: 不当的密码签名生成
MASWE-0026: 不当的密码签名验证
MASWE-0027: 不当的随机数生成
MASVS-认证
MASVS-认证
MASWE-0005: API 密钥硬编码在应用程序包中
MASWE-0028: 未遵循 MFA 实现最佳实践
MASWE-0029: 登录后未实现升级认证
MASWE-0030: 未在上下文状态变化时触发重新认证
MASWE-0031: Android 受保护确认使用不安全
MASWE-0032: 未使用平台提供的认证 API
MASWE-0033: 未遵循认证或授权协议安全最佳实践
MASWE-0034: 确认凭据实现不安全
MASWE-0035: 未实现无密码认证
MASWE-0036: 认证材料未加密存储在设备上
MASWE-0037: 认证材料通过不安全连接发送
MASWE-0038: 认证令牌未验证
MASWE-0039: 未实现共享 Web 凭据和网站关联
MASWE-0040: WebView 中的不安全认证
MASWE-0041: 认证仅在本地强制执行而非服务器端
MASWE-0042: 授权仅在本地强制执行而非服务器端
MASWE-0043: 应用自定义 PIN 未绑定到平台 KeyStore
MASWE-0044: 生物识别认证可被绕过
MASWE-0045: 敏感交易允许回退到非生物识别凭据
MASWE-0046: 新生物识别注册时加密密钥未失效
MASVS-网络
MASVS-网络
MASWE-0047: 不安全身份绑定
MASWE-0048: 不安全机器到机器通信
MASWE-0049: 未使用经过验证的网络 API
MASWE-0050: 明文流量
MASWE-0051: 未受保护的开放端口
MASWE-0052: 不安全证书验证
MASVS-平台
MASVS-平台
MASWE-0053: 敏感数据通过用户界面泄露
MASWE-0054: 敏感数据通过通知泄露
MASWE-0055: 敏感数据通过截图泄露
MASWE-0056: 点击劫持攻击
MASWE-0057: StrandHogg 攻击 / 任务亲和性漏洞
MASWE-0058: 不安全深度链接
MASWE-0059: 使用未经认证的平台 IPC
MASWE-0060: UIActivity 使用不安全
MASWE-0061: 应用扩展使用不安全
MASWE-0062: 不安全服务
MASWE-0063: 不安全广播接收器
MASWE-0064: 不安全内容提供者
MASWE-0065: 敏感数据永久与其它应用共享
MASWE-0066: 不安全 Intent
MASWE-0067: 可调试标志未禁用
MASWE-0068: WebView 中的 JavaScript 桥
MASWE-0069: WebView 允许访问本地资源
MASWE-0070: 从不可信源加载 JavaScript
MASWE-0071: WebView 从不可信源加载内容
MASWE-0072: 通用 XSS
MASWE-0073: 不安全的 WebResourceResponse 实现
MASWE-0074: Web 内容调试已启用
MASVS-代码
MASVS-代码
MASWE-0075: 未实现强制更新
MASWE-0076: 存在已知漏洞的依赖项
MASWE-0077: 未确保在最新平台版本上运行
MASWE-0078: 未以最新平台版本为目标
MASWE-0079: 网络数据处理不安全
MASWE-0080: 备份数据处理不安全
MASWE-0081: 外部接口数据处理不安全
MASWE-0082: 本地存储数据处理不安全
MASWE-0083: 用户界面数据处理不安全
MASWE-0084: IPC 数据处理不安全
MASWE-0085: 不安全动态代码加载
MASWE-0086: SQL 注入
MASWE-0087: 不安全解析和转义
MASWE-0088: 不安全对象反序列化
MASWE-0116: 未使用编译器提供的安全功能
MASVS-韧性
MASVS-韧性
MASWE-0008: 缺少设备安全锁定验证实现
MASWE-0089: 未实现代码混淆
MASWE-0090: 未实现资源混淆
MASWE-0091: 未实现反去混淆技术
MASWE-0092: 未阻止静态分析工具
MASWE-0093: 调试符号未移除
MASWE-0094: 非生产资源未移除
MASWE-0095: 禁用安全控制的代码未移除
MASWE-0096: 数据通过加密连接发送但未加密
MASWE-0097: 未实现 Root/越狱检测
MASWE-0098: 未实现应用虚拟化环境检测
MASWE-0099: 未实现模拟器检测
MASWE-0100: 未实现设备认证
MASWE-0101: 未实现调试器检测
MASWE-0102: 未实现动态分析工具检测
MASWE-0103: 未实现 RASP 技术
MASWE-0104: 应用完整性未验证
MASWE-0105: 应用资源完整性未验证
MASWE-0106: 未实现官方商店验证
MASWE-0107: 运行时代码完整性未验证
MASVS-隐私
MASVS-隐私
MASWE-0108: 网络流量中的敏感数据
MASWE-0109: 缺乏匿名化或假名化措施
MASWE-0110: 使用唯一标识符进行用户追踪
MASWE-0111: 不足的隐私政策
MASWE-0112: 不足的数据收集声明
MASWE-0113: 缺乏适当的数据管理控制
MASWE-0114: 不足的数据可见性控制
MASWE-0115: 不足或模糊的用户同意机制
MASWE-0117: 不足的权限管理
MASTG
MASTG
简介
简介
前言
扉页
OWASP MASVS 和 MASTG 的采用
致谢
建议阅读
一般概念
一般概念
移动应用分类
移动应用安全测试
移动应用篡改与逆向工程
移动应用认证架构
移动应用网络通信
移动应用加密
移动应用代码质量
移动应用用户隐私保护
Android 安全测试
Android 安全测试
Android 平台概述
Android 安全测试
Android 数据存储
Android 加密 API
Android 本地认证
Android 网络通信
Android 平台 API
Android 代码质量和构建设置
Android 反逆向防御
iOS 安全测试
iOS 安全测试
iOS 平台概述
iOS 安全测试
iOS 数据存储
iOS 加密 API
iOS 本地认证
iOS 网络通信
iOS 平台 API
iOS 代码质量和构建设置
iOS 反逆向防御
最佳实践
最佳实践
MASTG-BEST-0001: 使用安全的随机数生成器 API
MASTG-BEST-0002: 移除日志代码
MASTG-BEST-0003: 遵守隐私法规和最佳实践
MASTG-BEST-0004: 从备份中排除敏感数据
MASTG-BEST-0005: 使用安全加密模式
MASTG-BEST-0006: 使用最新 APK 签名方案
MASTG-BEST-0007: AndroidManifest 中禁用可调试标志
MASTG-BEST-0008: WebView 调试已禁用
MASTG-BEST-0009: 使用安全加密算法
MASTG-BEST-0010: 使用最新 minSdkVersion
MASTG-BEST-0011: 在 WebView 中安全加载文件内容
MASTG-BEST-0012: 在 WebView 中禁用 JavaScript
MASTG-BEST-0013: 在 WebView 中禁用内容提供者访问
测试
测试
Android
Android
MASVS-存储
MASVS-存储
MASTG-TEST-0001: 测试本地存储中的敏感数据
MASTG-TEST-0003: 测试日志中的敏感数据
MASTG-TEST-0004: 确定是否通过嵌入式服务与第三方共享敏感数据
MASTG-TEST-0005: 确定是否通过通知与第三方共享敏感数据
MASTG-TEST-0006: 确定文本输入字段是否禁用键盘缓存
MASTG-TEST-0009: 测试备份中的敏感数据
MASTG-TEST-0011: 测试内存中的敏感数据
MASTG-TEST-0012: 测试设备访问安全策略
MASTG-TEST-0200: 写入外部存储的文件
MASTG-TEST-0201: 运行时使用 API 访问外部存储
MASTG-TEST-0202: 引用访问外部存储的 API 和权限
MASTG-TEST-0203: 运行时使用日志 API
MASTG-TEST-0207: 运行时存储在应用沙盒中的数据
MASTG-TEST-0216: 敏感数据未从备份中排除
MASTG-TEST-0231: 引用日志 API
MASTG-TEST-0262: 引用未排除敏感数据的备份配置
MASVS-加密
MASVS-加密
MASTG-TEST-0013: 测试对称加密
MASTG-TEST-0014: 测试加密标准算法配置
MASTG-TEST-0015: 测试密钥用途
MASTG-TEST-0016: 测试随机数生成
MASTG-TEST-0204: 不安全随机 API 使用
MASTG-TEST-0205: 非随机源使用
MASTG-TEST-0208: 密钥大小不足
MASTG-TEST-0212: 代码中使用硬编码密码密钥
MASTG-TEST-0221: 损坏的对称加密算法
MASTG-TEST-0232: 损坏的对称加密模式
MASVS-认证
MASVS-认证
MASTG-TEST-0017: 测试确认凭据
MASTG-TEST-0018: 测试生物识别认证
MASVS-网络
MASVS-网络
MASTG-TEST-0019: 测试网络数据加密
MASTG-TEST-0020: 测试 TLS 设置
MASTG-TEST-0021: 测试端点身份验证
MASTG-TEST-0022: 测试自定义证书存储和证书绑定
MASTG-TEST-0023: 测试安全提供者
MASTG-TEST-0217: 代码中明确允许不安全 TLS 协议
MASTG-TEST-0218: 网络流量中的不安全 TLS 协议
MASTG-TEST-0233: 硬编码 HTTP URL
MASTG-TEST-0234: 缺少使用 SSLSockets 的服务器主机名验证实现
MASTG-TEST-0235: 允许明文流量的 Android 应用配置
MASTG-TEST-0236: 网络上观察到的明文流量
MASTG-TEST-0237: 允许明文流量的跨平台框架配置
MASTG-TEST-0238: 运行时使用传输明文流量的网络 API
MASTG-TEST-0239: 使用低级 API(如 Socket)设置自定义 HTTP 连接
MASTG-TEST-0242: 网络安全配置中缺少证书绑定
MASTG-TEST-0243: 网络安全配置中过期的证书绑定
MASTG-TEST-0244: 网络流量中缺少证书绑定
MASTG-TEST-0282: 不安全自定义信任评估
MASTG-TEST-0283: 服务器主机名验证实现不正确
MASTG-TEST-0284: WebView 中 SSL 错误处理不正确
MASTG-TEST-0285: 允许信任用户提供 CA 的过时 Android 版本
MASTG-TEST-0286: 允许信任用户提供 CA 的网络安全配置
MASVS-平台
MASVS-平台
MASTG-TEST-0007: 确定敏感存储数据是否已通过 IPC 机制暴露
MASTG-TEST-0008: 检查用户界面中的敏感数据泄露
MASTG-TEST-0010: 在自动生成的截图中查找敏感信息
MASTG-TEST-0024: 测试应用权限
MASTG-TEST-0028: 测试深度链接
MASTG-TEST-0029: 测试通过 IPC 暴露敏感功能
MASTG-TEST-0030: 测试 PendingIntent 的脆弱实现
MASTG-TEST-0031: 测试 WebView 中的 JavaScript 执行
MASTG-TEST-0032: 测试 WebView 协议处理程序
MASTG-TEST-0033: 测试通过 WebView 暴露的 Java 对象
MASTG-TEST-0035: 测试覆盖攻击
MASTG-TEST-0037: 测试 WebView 清理
MASTG-TEST-0250: 引用 WebView 中的内容提供者访问
MASTG-TEST-0251: 运行时在 WebView 中使用内容提供者访问 API
MASTG-TEST-0252: 引用 WebView 中的本地文件访问
MASTG-TEST-0253: 运行时在 WebView 中使用本地文件访问 API
MASTG-TEST-0258: 引用 UI 元素中的键盘缓存属性
MASVS-代码
MASVS-代码
MASTG-TEST-0002: 测试本地存储的输入验证
MASTG-TEST-0025: 测试注入缺陷
MASTG-TEST-0026: 测试隐式 Intent
MASTG-TEST-0027: 测试 WebView 中的 URL 加载
MASTG-TEST-0034: 测试对象持久性
MASTG-TEST-0036: 测试强制更新
MASTG-TEST-0042: 检查第三方库中的弱点
MASTG-TEST-0043: 内存损坏漏洞
MASTG-TEST-0044: 确保免费安全功能已激活
MASTG-TEST-0222: 未启用位置无关代码 (PIC)
MASTG-TEST-0223: 未启用栈保护
MASTG-TEST-0245: 引用平台版本 API
MASTG-TEST-0272: 识别 Android 项目中存在已知漏洞的依赖项
MASTG-TEST-0274: 应用 SBOM 中存在已知漏洞的依赖项
MASVS-韧性
MASVS-韧性
MASTG-TEST-0038: 确保应用已正确签名
MASTG-TEST-0039: 测试应用是否可调试
MASTG-TEST-0040: 测试调试符号
MASTG-TEST-0041: 测试调试代码和详细错误日志
MASTG-TEST-0045: 测试 Root 检测
MASTG-TEST-0046: 测试反调试检测
MASTG-TEST-0047: 测试文件完整性检查
MASTG-TEST-0048: 测试逆向工程工具检测
MASTG-TEST-0049: 测试模拟器检测
MASTG-TEST-0050: 测试运行时完整性检查
MASTG-TEST-0051: 测试混淆
MASTG-TEST-0224: 不安全签名版本使用
MASTG-TEST-0225: 不安全签名密钥大小使用
MASTG-TEST-0226: AndroidManifest 中启用可调试标志
MASTG-TEST-0227: WebView 调试已启用
MASTG-TEST-0247: 引用检测安全屏幕锁定的 API
MASTG-TEST-0249: 运行时使用安全屏幕锁定检测 API
MASTG-TEST-0263: StrictMode 违规日志记录
MASTG-TEST-0264: 运行时使用 StrictMode API
MASTG-TEST-0265: 引用 StrictMode API
MASVS-隐私
MASVS-隐私
MASTG-TEST-0206: 网络流量捕获中的敏感数据
MASTG-TEST-0254: 危险的应用权限
MASTG-TEST-0255: 权限请求未最小化
MASTG-TEST-0256: 缺少权限理由
MASTG-TEST-0257: 未重置未使用的权限
iOS
iOS
MASVS-存储
MASVS-存储
MASTG-TEST-0052: 测试本地数据存储
MASTG-TEST-0053: 检查日志中的敏感数据
MASTG-TEST-0054: 确定是否与第三方共享敏感数据
MASTG-TEST-0055: 在键盘缓存中查找敏感数据
MASTG-TEST-0058: 测试备份中的敏感数据
MASTG-TEST-0060: 测试内存中的敏感数据
MASTG-TEST-0215: 敏感数据未从备份中排除
MASVS-加密
MASVS-加密
MASTG-TEST-0061: 验证加密标准算法配置
MASTG-TEST-0062: 测试密钥管理
MASTG-TEST-0063: 测试随机数生成
MASTG-TEST-0209: 密钥大小不足
MASTG-TEST-0210: 损坏的对称加密算法
MASTG-TEST-0211: 损坏的哈希算法
MASTG-TEST-0213: 代码中使用硬编码密码密钥
MASTG-TEST-0214: 文件中硬编码密码密钥
MASVS-认证
MASVS-认证
MASTG-TEST-0064: 测试生物识别认证
MASTG-TEST-0266: 引用事件绑定生物识别认证 API
MASTG-TEST-0267: 运行时使用事件绑定生物识别认证
MASTG-TEST-0268: 引用允许回退到非生物识别认证的 API
MASTG-TEST-0269: 运行时使用允许回退到非生物识别认证的 API
MASTG-TEST-0270: 引用检测生物识别注册变化的 API
MASTG-TEST-0271: 运行时使用检测生物识别注册变化的 API
MASVS-网络
MASVS-网络
MASTG-TEST-0065: 测试网络数据加密
MASTG-TEST-0066: 测试 TLS 设置
MASTG-TEST-0067: 测试端点身份验证
MASTG-TEST-0068: 测试自定义证书存储和证书绑定
MASVS-平台
MASVS-平台
MASTG-TEST-0056: 确定敏感数据是否通过 IPC 机制暴露
MASTG-TEST-0057: 检查通过用户界面披露的敏感数据
MASTG-TEST-0059: 测试自动生成的截图中的敏感信息
MASTG-TEST-0069: 测试应用权限
MASTG-TEST-0070: 测试通用链接
MASTG-TEST-0071: 测试 UIActivity 共享
MASTG-TEST-0072: 测试应用扩展
MASTG-TEST-0073: 测试 UIPasteboard
MASTG-TEST-0075: 测试自定义 URL 方案
MASTG-TEST-0076: 测试 iOS WebView
MASTG-TEST-0077: 测试 WebView 协议处理程序
MASTG-TEST-0078: 确定原生方法是否通过 WebView 暴露
MASTG-TEST-0276: 使用 iOS 通用剪贴板
MASTG-TEST-0277: 运行时 iOS 通用剪贴板中的敏感数据
MASTG-TEST-0278: 使用后未清除剪贴板内容
MASTG-TEST-0279: 剪贴板内容未过期
MASTG-TEST-0280: 剪贴板内容未限制到本地设备
MASVS-代码
MASVS-代码
MASTG-TEST-0079: 测试对象持久性
MASTG-TEST-0080: 测试强制更新
MASTG-TEST-0085: 检查第三方库中的弱点
MASTG-TEST-0086: 内存损坏漏洞
MASTG-TEST-0087: 确保免费安全功能已激活
MASTG-TEST-0228: 未启用位置无关代码 (PIC)
MASTG-TEST-0229: 未启用栈保护
MASTG-TEST-0230: 未启用自动引用计数 (ARC)
MASTG-TEST-0273: 通过扫描依赖管理器工件识别存在已知漏洞的依赖项
MASTG-TEST-0275: 应用 SBOM 中存在已知漏洞的依赖项
MASVS-韧性
MASVS-韧性
MASTG-TEST-0081: 确保应用已正确签名
MASTG-TEST-0082: 测试应用是否可调试
MASTG-TEST-0083: 测试调试符号
MASTG-TEST-0084: 测试调试代码和详细错误日志
MASTG-TEST-0088: 测试越狱检测
MASTG-TEST-0089: 测试反调试检测
MASTG-TEST-0090: 测试文件完整性检查
MASTG-TEST-0091: 测试逆向工程工具检测
MASTG-TEST-0092: 测试模拟器检测
MASTG-TEST-0093: 测试混淆
MASTG-TEST-0219: 测试调试符号
MASTG-TEST-0220: 使用过时代码签名格式
MASTG-TEST-0240: 代码中的越狱检测
MASTG-TEST-0241: 运行时使用越狱检测技术
MASTG-TEST-0246: 运行时使用安全屏幕锁定检测 API
MASTG-TEST-0248: 引用检测安全屏幕锁定的 API
MASTG-TEST-0261: entitlements.plist 中启用可调试权限
MASVS-隐私
MASVS-隐私
MASTG-TEST-0281: 未声明的已知追踪域
演示
演示
Android
Android
MASVS-存储
MASVS-存储
MASTG-DEMO-0001: 外部存储文件系统快照
MASTG-DEMO-0002: 使用 Frida 追踪外部存储 API
MASTG-DEMO-0003: 应用在没有作用域存储限制的情况下写入外部存储
MASTG-DEMO-0004: 应用在有作用域存储限制的情况下写入外部存储
MASTG-DEMO-0005: 应用通过 MediaStore API 写入外部存储
MASTG-DEMO-0006: 追踪常见日志 API 寻找秘密
MASTG-DEMO-0010: 内部存储文件系统快照
MASTG-DEMO-0020: 使用 backup_rules.xml 和 Backup Manager 进行数据排除
MASTG-DEMO-0024: 使用 semgrep 缓存 UI 元素
MASTG-DEMO-0034: 使用 semgrep 备份和恢复应用数据
MASTG-DEMO-0035: 使用 backup_rules.xml 和 adb backup 进行数据排除
MASVS-加密
MASVS-加密
MASTG-DEMO-0007: 不安全随机 API 的常见用法
MASTG-DEMO-0008: 非随机源的使用
MASTG-DEMO-0012: 密钥长度不足的密码密钥生成
MASTG-DEMO-0017: 使用 semgrep 检测 SecretKeySpec 中硬编码的 AES 密钥
MASTG-DEMO-0022: 使用 semgrep 检测 Cipher 中损坏的对称加密算法
MASTG-DEMO-0023: 使用 semgrep 检测 Cipher 中损坏的加密模式
MASVS-网络
MASVS-网络
MASTG-DEMO-0048: 由于缺少 HostnameVerifier 允许 SSLSocket 连接到错误的主机服务器
MASTG-DEMO-0049: SSLSocket 连接到错误的主机服务器被 HostnameVerifier 阻止
MASTG-DEMO-0054: 使用不验证证书链的 TrustManager
MASTG-DEMO-0055: 使用允许任何主机名的 HostnameVerifier
MASTG-DEMO-0056: WebView 在 onReceivedSslError 中忽略 TLS 错误
MASTG-DEMO-0057: 网络安全配置允许用户添加证书
MASVS-平台
MASVS-平台
MASTG-DEMO-0029: 使用 semgrep 允许内容访问的 WebView 用法
MASTG-DEMO-0030: 使用 Frida 允许内容访问的 WebView 用法
MASTG-DEMO-0031: 使用 Frida 允许本地文件访问的 WebView 用法
MASTG-DEMO-0032: 使用 semgrep 允许本地文件访问的 WebView 用法
MASTG-DEMO-0040: 使用 semgrep 检测 AndroidManifest 中启用的可调试标志
MASVS-代码
MASVS-代码
MASTG-DEMO-0025: 使用 semgrep 检测 Build.VERSION.SDK_INT 的用法
MASTG-DEMO-0050: 在 Android Studio 中识别不安全依赖项
MASTG-DEMO-0051: 通过创建 SBOM 识别不安全依赖项
MASVS-韧性
MASVS-韧性
MASTG-DEMO-0027: 运行时使用 Frida 检测 KeyguardManager.isDeviceSecure 和 BiometricManager.canAuthenticate API
MASTG-DEMO-0028: 使用 semgrep 检测 KeyguardManager.isDeviceSecure 和 BiometricManager.canAuthenticate 的用法
MASTG-DEMO-0037: 应用通过 StrictMode 泄露未关闭 SQL 游标的信息
MASTG-DEMO-0038: 使用 Frida 检测 StrictMode 用法
MASTG-DEMO-0039: 使用 Semgrep 检测 StrictMode PenaltyLog 用法
MASVS-隐私
MASVS-隐私
MASTG-DEMO-0009: 检测网络流量中的敏感数据
MASTG-DEMO-0033: 使用 semgrep 检测 AndroidManifest 中的危险权限
iOS
iOS
MASVS-存储
MASVS-存储
MASTG-DEMO-0019: 使用 r2 检测 isExcludedFromBackupKey 的用法
MASVS-加密
MASVS-加密
MASTG-DEMO-0011: 使用 r2 检测 SecKeyCreateRandomKey 中密钥大小不足的用法
MASTG-DEMO-0013: 使用 r2 检测 SecKeyCreateWithData 中硬编码的 RSA 私钥
MASTG-DEMO-0014: 使用 r2 检测 CryptoKit 中硬编码的 ECDSA 私钥
MASTG-DEMO-0015: 使用 r2 检测 CommonCrypto 中损坏的哈希算法
MASTG-DEMO-0016: 使用 r2 检测 CryptoKit 中损坏的哈希算法
MASTG-DEMO-0018: 使用 r2 检测 CommonCrypto 中损坏的加密算法
MASVS-认证
MASVS-认证
MASTG-DEMO-0041: 使用 r2 检测 LAContext.evaluatePolicy 的用法
MASTG-DEMO-0042: 运行时使用 Frida 检测 LAContext.evaluatePolicy
MASTG-DEMO-0043: 使用 r2 检测 kSecAccessControlUserPresence 的用法
MASTG-DEMO-0044: 运行时使用 Frida 检测 kSecAccessControlUserPresence
MASTG-DEMO-0045: 使用 r2 检测 kSecAccessControlBiometryCurrentSet 的用法
MASTG-DEMO-0046: 运行时使用 Frida 检测 kSecAccessControlBiometryCurrentSet
MASTG-DEMO-0047: 运行时使用 Frida 检测不需要用户在场的 Keychain
MASVS-韧性
MASVS-韧性
MASTG-DEMO-0021: 使用 r2 检测越狱检测技术
MASTG-DEMO-0024: 使用 r2 检测 LAContext.canEvaluatePolicy 的用法
MASTG-DEMO-0026: 运行时使用 Frida 检测 LAContext.canEvaluatePolicy
MASTG-DEMO-0036: 使用 rabin2 检测 entitlements.plist 中启用的可调试权限
技术
技术
通用
通用
MASTG-TECH-0047: 逆向工程
MASTG-TECH-0048: 静态分析
MASTG-TECH-0049: 动态分析
MASTG-TECH-0050: 二进制分析
MASTG-TECH-0051: 篡改和运行时插桩
MASTG-TECH-0119: 在应用层通过 Hook 网络 API 拦截 HTTP 流量
MASTG-TECH-0120: 使用拦截代理拦截 HTTP 流量
MASTG-TECH-0121: 使用拦截代理拦截非 HTTP 流量
MASTG-TECH-0122: 被动窃听
MASTG-TECH-0123: 通过 ARP 欺骗实现 MITM 位置
MASTG-TECH-0124: 使用恶意接入点实现 MITM 位置
MASTG-TECH-0125: 拦截 Xamarin 流量
Android
Android
MASTG-TECH-0001: 访问设备 Shell
MASTG-TECH-0002: 主机-设备数据传输
MASTG-TECH-0003: 获取和提取应用
MASTG-TECH-0004: 重新打包应用
MASTG-TECH-0005: 安装应用
MASTG-TECH-0006: 列出已安装应用
MASTG-TECH-0007: 探索应用包
MASTG-TECH-0008: 访问应用数据目录
MASTG-TECH-0009: 监控系统日志
MASTG-TECH-0010: 基本网络监控/嗅探
MASTG-TECH-0011: 设置拦截代理
MASTG-TECH-0012: 绕过证书绑定
MASTG-TECH-0013: 逆向工程 Android 应用
MASTG-TECH-0014: Android 静态分析
MASTG-TECH-0015: Android 动态分析
MASTG-TECH-0016: 将代码反汇编为 Smali
MASTG-TECH-0017: 反编译 Java 代码
MASTG-TECH-0018: 反汇编原生代码
MASTG-TECH-0019: 检索字符串
MASTG-TECH-0020: 检索交叉引用
MASTG-TECH-0021: 信息收集 - API 使用
MASTG-TECH-0022: 信息收集 - 网络通信
MASTG-TECH-0023: 审查反编译的 Java 代码
MASTG-TECH-0024: 审查反汇编的原生代码
MASTG-TECH-0025: 自动化静态分析
MASTG-TECH-0026: 非 Root 设备上的动态分析
MASTG-TECH-0027: 获取打开的文件
MASTG-TECH-0028: 获取打开的连接
MASTG-TECH-0029: 获取已加载的原生库
MASTG-TECH-0030: 沙盒检查
MASTG-TECH-0031: 调试
MASTG-TECH-0032: 执行追踪
MASTG-TECH-0033: 方法追踪
MASTG-TECH-0034: 原生代码追踪
MASTG-TECH-0035: JNI 追踪
MASTG-TECH-0036: 基于仿真的分析
MASTG-TECH-0037: 符号执行
MASTG-TECH-0038: 打补丁
MASTG-TECH-0039: 重新打包 & 重新签名
MASTG-TECH-0040: 等待调试器
MASTG-TECH-0041: 库注入
MASTG-TECH-0042: 动态获取已加载的类和方法
MASTG-TECH-0043: 方法 Hook
MASTG-TECH-0044: 进程探索
MASTG-TECH-0045: 运行时逆向工程
MASTG-TECH-0100: 从网络流量中记录敏感数据
MASTG-TECH-0108: 污点分析
MASTG-TECH-0109: 拦截 Flutter HTTPS 流量
MASTG-TECH-0112: 逆向工程 Flutter 应用
MASTG-TECH-0115: 获取编译器提供的安全功能
MASTG-TECH-0116: 获取 APK 签名信息
MASTG-TECH-0117: 从 AndroidManifest 获取信息
MASTG-TECH-0126: 获取应用权限
MASTG-TECH-0127: 检查应用的备份数据
MASTG-TECH-0128: 执行应用数据的备份和恢复
MASTG-TECH-0129: 运行时验证 Android 依赖项
MASTG-TECH-0130: 通过创建 SBOM 对 Android 依赖项进行软件组成分析 (SCA)
MASTG-TECH-0131: 在构建时对 Android 依赖项进行软件组成分析 (SCA)
iOS
iOS
MASTG-TECH-0052: 访问设备 Shell
MASTG-TECH-0053: 主机-设备数据传输
MASTG-TECH-0054: 获取和提取应用
MASTG-TECH-0055: 在调试模式下启动重新打包的应用
MASTG-TECH-0056: 安装应用
MASTG-TECH-0057: 列出已安装应用
MASTG-TECH-0058: 探索应用包
MASTG-TECH-0059: 访问应用数据目录
MASTG-TECH-0060: 监控系统日志
MASTG-TECH-0061: 转储 Keychain 数据
MASTG-TECH-0062: 基本网络监控/嗅探
MASTG-TECH-0063: 设置拦截代理
MASTG-TECH-0064: 绕过证书绑定
MASTG-TECH-0065: 逆向工程 iOS 应用
MASTG-TECH-0066: iOS 静态分析
MASTG-TECH-0067: iOS 动态分析
MASTG-TECH-0068: 反汇编原生代码
MASTG-TECH-0069: 反编译原生代码
MASTG-TECH-0070: 从应用二进制文件中提取信息
MASTG-TECH-0071: 检索字符串
MASTG-TECH-0072: 检索交叉引用
MASTG-TECH-0073: 信息收集 - API 使用
MASTG-TECH-0074: 信息收集 - 网络通信
MASTG-TECH-0075: 审查反编译的 Objective-C 和 Swift 代码
MASTG-TECH-0076: 审查反汇编的 Objective-C 和 Swift 代码
MASTG-TECH-0077: 审查反汇编的原生代码
MASTG-TECH-0078: 自动化静态分析
MASTG-TECH-0079: 获取开发者配置文件
MASTG-TECH-0080: 获取打开的文件
MASTG-TECH-0081: 获取打开的连接
MASTG-TECH-0082: 获取共享库
MASTG-TECH-0083: 沙盒检查
MASTG-TECH-0084: 调试
MASTG-TECH-0085: 执行追踪
MASTG-TECH-0086: 方法追踪
MASTG-TECH-0087: 原生代码追踪
MASTG-TECH-0088: 基于仿真的分析
MASTG-TECH-0089: 符号执行
MASTG-TECH-0090: 自动将 Frida Gadget 注入 IPA
MASTG-TECH-0091: 手动将库注入 IPA
MASTG-TECH-0092: 签名 IPA 文件
MASTG-TECH-0093: 等待调试器
MASTG-TECH-0094: 动态获取已加载的类和方法
MASTG-TECH-0095: 方法 Hook
MASTG-TECH-0096: 进程探索
MASTG-TECH-0097: 运行时逆向工程
MASTG-TECH-0098: 修补 React Native 应用
MASTG-TECH-0110: 拦截 Flutter HTTPS 流量
MASTG-TECH-0111: 从 MachO 二进制文件中提取权限
MASTG-TECH-0112: 获取代码签名格式版本
MASTG-TECH-0113: 获取调试符号
MASTG-TECH-0114: 解混淆符号
MASTG-TECH-0118: 获取编译器提供的安全功能
MASTG-TECH-0132: 通过创建 SBOM 对 iOS 依赖项进行软件组成分析 (SCA)
MASTG-TECH-0133: 通过扫描包管理器工件对 iOS 依赖项进行软件组成分析 (SCA)
MASTG-TECH-0134: 监控剪贴板
MASTG-TECH-0135: 绕过生物识别认证
MASTG-TECH-0136: 检索 PrivacyInfo.xcprivacy 文件
MASTG-TECH-0137: 分析 PrivacyInfo.xcprivacy 文件
MASTG-TECH-0138: 将 Plist 文件转换为 JSON
MASTG-TECH-0139: 附加到 WKWebView
工具
工具
通用
通用
MASTG-TOOL-0031: Frida
MASTG-TOOL-0032: Frida CodeShare
MASTG-TOOL-0033: Ghidra
MASTG-TOOL-0034: LIEF
MASTG-TOOL-0035: MobSF
MASTG-TOOL-0036: r2frida
MASTG-TOOL-0037: RMS 运行时移动安全
MASTG-TOOL-0038: objection
MASTG-TOOL-0098: iaito
MASTG-TOOL-0100: reFlutter
MASTG-TOOL-0101: disable-flutter-tls-verification
MASTG-TOOL-0104: hermes-dec
MASTG-TOOL-0106: Fridump
MASTG-TOOL-0108: Corellium
MASTG-TOOL-0110: semgrep
MASTG-TOOL-0129: rabin2
MASTG-TOOL-0131: dependency-check
MASTG-TOOL-0132: dependency-track
MASTG-TOOL-0133: Visual Studio Code (vscode)
MASTG-TOOL-0134: cdxgen
Android
Android
MASTG-TOOL-0001: Android 版 Frida
MASTG-TOOL-0002: Android 版 MobSF
MASTG-TOOL-0003: nm - Android
MASTG-TOOL-0004: adb
MASTG-TOOL-0005: Android NDK
MASTG-TOOL-0006: Android SDK
MASTG-TOOL-0007: Android Studio
MASTG-TOOL-0008: Android-SSL-TrustKiller
MASTG-TOOL-0009: APKiD
MASTG-TOOL-0010: APKLab
MASTG-TOOL-0011: Apktool
MASTG-TOOL-0012: apkx
MASTG-TOOL-0013: Busybox
MASTG-TOOL-0014: Bytecode Viewer
MASTG-TOOL-0015: drozer
MASTG-TOOL-0016: gplaycli
MASTG-TOOL-0017: House
MASTG-TOOL-0018: jadx
MASTG-TOOL-0019: jdb
MASTG-TOOL-0020: JustTrustMe
MASTG-TOOL-0021: Magisk
MASTG-TOOL-0022: Proguard
MASTG-TOOL-0023: RootCloak Plus
MASTG-TOOL-0024: Scrcpy
MASTG-TOOL-0025: SSLUnpinning
MASTG-TOOL-0026: Termux
MASTG-TOOL-0027: Xposed
MASTG-TOOL-0028: Android 版 radare2
MASTG-TOOL-0029: Android 版 objection
MASTG-TOOL-0030: Angr
MASTG-TOOL-0099: FlowDroid
MASTG-TOOL-0103: uber-apk-signer
MASTG-TOOL-0107: JNITrace
MASTG-TOOL-0112: pidcat
MASTG-TOOL-0116: Blutter
MASTG-TOOL-0120: ProxyDroid
MASTG-TOOL-0123: apksigner
MASTG-TOOL-0124: aapt2
MASTG-TOOL-0125: Apkleaks
MASTG-TOOL-0130: blint
MASTG-TOOL-0140: frida-multiple-unpinning
iOS
iOS
MASTG-TOOL-0039: iOS 版 Frida
MASTG-TOOL-0040: iOS 版 MobSF
MASTG-TOOL-0041: nm - iOS
MASTG-TOOL-0042: BinaryCookieReader
MASTG-TOOL-0043: class-dump
MASTG-TOOL-0044: class-dump-z
MASTG-TOOL-0045: class-dump-dyld
MASTG-TOOL-0046: Cycript
MASTG-TOOL-0047: Cydia
MASTG-TOOL-0048: dsdump
MASTG-TOOL-0049: Frida-cycript
MASTG-TOOL-0050: Frida-ios-dump
MASTG-TOOL-0051: gdb
MASTG-TOOL-0053: iOSbackup
MASTG-TOOL-0054: ios-deploy
MASTG-TOOL-0055: iproxy
MASTG-TOOL-0056: Keychain-Dumper
MASTG-TOOL-0057: lldb
MASTG-TOOL-0058: MachoOView
MASTG-TOOL-0059: optool
MASTG-TOOL-0060: otool
MASTG-TOOL-0061: Grapefruit
MASTG-TOOL-0062: Plutil
MASTG-TOOL-0063: security
MASTG-TOOL-0064: Sileo
MASTG-TOOL-0065: simctl
MASTG-TOOL-0066: SSL Kill Switch 3
MASTG-TOOL-0067: swift-demangle
MASTG-TOOL-0068: SwiftShield
MASTG-TOOL-0069: Usbmuxd
MASTG-TOOL-0070: Xcode
MASTG-TOOL-0071: Xcode 命令行工具
MASTG-TOOL-0072: xcrun
MASTG-TOOL-0073: iOS 版 radare2
MASTG-TOOL-0074: iOS 版 objection
MASTG-TOOL-0102: ios-app-signer
MASTG-TOOL-0105: ipsw
MASTG-TOOL-0111: ldid
MASTG-TOOL-0114: codesign
MASTG-TOOL-0117: fastlane
MASTG-TOOL-0118: Sideloadly
MASTG-TOOL-0121: objdump - iOS
MASTG-TOOL-0122: c++filt
MASTG-TOOL-0126: libimobiledevice suite
MASTG-TOOL-0127: AppSync Unified
MASTG-TOOL-0128: Filza
MASTG-TOOL-0135: PlistBuddy
MASTG-TOOL-0136: plistlib
MASTG-TOOL-0137: GlobalWebInspect
MASTG-TOOL-0138: ipainstaller
MASTG-TOOL-0139: ElleKit
MASTG-TOOL-0141: IOSSecuritySuite
MASTG-TOOL-0142: Choicy
网络
网络
MASTG-TOOL-0075: Android 版 tcpdump
MASTG-TOOL-0076: bettercap
MASTG-TOOL-0077: Burp Suite
MASTG-TOOL-0078: MITM Relay
MASTG-TOOL-0079: ZAP
MASTG-TOOL-0080: tcpdump
MASTG-TOOL-0081: Wireshark
MASTG-TOOL-0097: mitmproxy
MASTG-TOOL-0109: Nope-Proxy
MASTG-TOOL-0115: HTTP Toolkit
MASTG-TOOL-0143: badssl
应用
应用
Android
Android
MASTG-APP-0001: AndroGoat
MASTG-APP-0002: Android 许可证验证器
MASTG-APP-0003: Android 不可破解 L1
MASTG-APP-0004: Android 不可破解 L2
MASTG-APP-0005: Android 不可破解 L3
MASTG-APP-0006: Digitalbank
MASTG-APP-0007: DIVA Android
MASTG-APP-0008: DodoVulnerableBank
MASTG-APP-0009: DVHMA
MASTG-APP-0010: InsecureBankv2
MASTG-APP-0011: MASTG 攻防演练场 (Java)
MASTG-APP-0012: MASTG 攻防演练场 (Kotlin)
MASTG-APP-0013: OVAA
MASTG-APP-0014: InsecureShop
MASTG-APP-0015: Android 不可破解 L4
MASTG-APP-0016: Finstergram
MASTG-APP-0017: Disable-flutter-tls-verification
MASTG-APP-0018: MASTestApp-Android-NETWORK
iOS
iOS
MASTG-APP-0023: DVIA
MASTG-APP-0024: DVIA-v2
MASTG-APP-0025: iOS 不可破解 L1
MASTG-APP-0026: iOS 不可破解 L2
MASTG-APP-0027: Disable-flutter-tls-verification
MASTG-APP-0028: iGoat-Swift
MASVS
MASVS
简介
简介
前言
关于标准
移动应用安全验证标准
评估与认证
MASVS-存储:存储
MASVS-存储-1
MASVS-存储-2
MASVS-加密:加密
MASVS-加密-1
MASVS-加密-2
MASVS-认证:认证与授权
MASVS-认证-1
MASVS-认证-2
MASVS-认证-3
MASVS-网络:网络通信
MASVS-网络-1
MASVS-网络-2
MASVS-平台:平台交互
MASVS-平台-1
MASVS-平台-2
MASVS-平台-3
MASVS-代码:代码质量
MASVS-代码-1
MASVS-代码-2
MASVS-代码-3
MASVS-代码-4
MASVS-韧性:对抗逆向工程和篡改的韧性
MASVS-韧性-1
MASVS-韧性-2
MASVS-韧性-3
MASVS-韧性-4
MASVS-隐私:隐私
MASVS-隐私-1
MASVS-隐私-2
MASVS-隐私-3
MASVS-隐私-4
MAS 清单
MAS 清单
MASVS-存储
MASVS-加密
MASVS-认证
MASVS-网络
MASVS-平台
MASVS-代码
MASVS-韧性
MASVS-隐私
MAS 破解练习
MAS 破解练习
Android 破解练习
iOS 破解练习
新闻
新闻
存档
存档
2025
2024
2023
2022
2021
2020
2019
2018
2017
2016
🎙 讲座
⭐ 贡献
⭐ 贡献
如何贡献?
入门
拉取请求 & 审查
添加新语言
样式指南
添加破解挑战
如何在本地运行 OWASP MAS 网站
💙 捐赠
💙 捐赠
捐款
如何捐款
捐赠套餐
💬 联系我们
MASVS-CODE-2
¶
应用程序具有强制执行应用程序更新的机制。
有时,当应用程序已经发布到生产环境时,会发现关键漏洞。此控制措施确保存在一种机制,可以强制用户在继续使用应用程序之前更新应用程序。
返回顶部