自动化扫描中的双重身份验证 (2FA)
概述
平台支持受双重身份验证 (2FA) 保护的应用程序。 扫描可以自动完成需要额外验证的身份验证流程,从而允许安全评估在无需人工干预的情况下继续进行。
支持的身份验证机制包括:
- 基于短信的动态密码 (OTP)
- 由身份验证器应用程序生成的基于时间的一次性密码 (TOTP)
- 无密码身份验证流程(电子邮件令牌)
- 基于浏览器的身份验证机制
这使得扫描器能够安全地进行身份验证并继续测试应用程序受保护的区域。
功能优势
- 完全自动化的安全扫描,即使包含多步身份验证
- 完整登录工作流的端到端覆盖
- 通过短信获取或实时生成 TOTP,实现自动化的 OTP 处理
- 兼容大多数标准的 2FA 实现
支持的 2FA 方法
1. 基于短信的 2FA
基于短信的 2FA 是一种身份验证机制,通过要求用户输入发送到其注册手机号码的短信动态密码 (OTP) 来保护对应用程序的访问。
平台支持该身份验证流程的完全自动化。它允许安全扫描器通过自动拦截、提取和注入 OTP,对需要短信验证的应用程序执行经过身份验证的扫描,从而确保登录工作流的无缝端到端覆盖。
先决条件
在平台中配置短信 2FA 之前,请确保您已完成以下步骤:
- 联系支持人员: 联系 Ostorlab Support 申请您专用的测试电话号码。
- 设置测试帐户: 更新您应用程序的测试帐户,以使用该号码进行 2FA。
- 识别发送者: 使用您的应用程序向测试号码触发 OTP,以识别官方的 Sender Phone Number(您的应用程序用于发送 OTP 短信的特定号码或短代码)。
配置
当您获得了专属测试号码并识别了发送者的电话号码后:
- 导航: 转到 Scan > Test Credentials > New > 2FA SMS。
- 标签: 为此凭据提供一个描述性名称(例如,“Production SMS 2FA”)。
- 发送者电话号码: 输入您在先决条件步骤中识别出的 Sender Phone Number(例如,
+15550001111)。 - 保存: 点击 Add 以安全地存储凭据。
故障排除
- 配置: 确保测试帐户已启用短信 2FA。
- 过滤: 确认您的应用程序的反垃圾邮件或速率限制策略允许来自网关的传入消息。
- 发送者 ID: 如果扫描器未能捕获 OTP,请仔细检查“Sender Phone Number”是否与接收到 OTP 时设备上显示的号码完全匹配。
2. 基于电子邮件的 OTP
基于电子邮件的 2FA 通过要求用户输入发送到其注册电子邮件地址的动态密码 (OTP) 来保护对应用程序的访问。
平台通过安全地监控专用的测试邮箱、解析收到的电子邮件、提取 OTP 并将其自动注入到应用程序的登录表单中,从而自动化此流程。这确保了您的安全扫描可以在没有人工干预的情况下完成身份验证流程。
先决条件
在配置电子邮件 2FA 之前,请确保您具备以下条件:
- 专用邮箱: 一个专门配置为接收 OTP 的测试帐户。
- 识别发送者: 向您的测试帐户触发 OTP,并识别官方的 Email Sender(您的应用程序用于发送 OTP 消息的特定电子邮件地址)。
- 应用密码: 如果您的电子邮件提供商(例如 Gmail)对邮箱帐户强制执行 2FA,则必须生成一个应用密码。请勿使用您的常规帐户密码,因为它通常会被现代提供商的安全设置拒绝。
配置
- 导航: 转到 Scan > Test Credentials > New > 2FA Email。
- 标签: 为此凭据提供一个描述性名称(例如,“Production Email 2FA”)。
- 电子邮件发送者: 输入您在先决条件步骤中识别出的 Email Sender 地址(例如,
noreply@yourdomain.com)。 - 电子邮件和密码: 输入测试邮箱的电子邮件地址及其对应的应用密码。
- 保存: 点击 Add 以安全地存储凭据。
故障排除
- 解析错误: 如果扫描器未能提取 OTP,请确保电子邮件正文以清晰可读的格式包含该代码。
- 连接性: 验证您的邮箱设置中是否启用了 IMAP/SMTP 访问,并且凭据(尤其是应用密码)是否正确。
- 安全拦截: 确保邮箱帐户没有受到阻止扫描器登录收件箱本身的附加 2FA 层的保护。
3. TOTP(身份验证器应用程序)
基于 TOTP 的身份验证会生成每 30 秒刷新一次的基于时间的验证码。
平台支持将自身作为虚拟身份验证器设备,基于共享的密钥实时生成有效的代码,从而实现 TOTP 的完全自动化。
先决条件
- 设置测试帐户: 在您的测试帐户上启用基于 TOTP 的 2FA。
- 保护密钥: 在设置过程中,从您的身份验证应用程序检索 TOTP 密钥 (seed)。
配置
- 导航: 转到 Scan > Test Credentials > New > 2FA TOTP。
- 凭据名称: 为此凭据提供一个描述性名称。
- TOTP 密钥: 粘贴使用 Base32 编码的 TOTP 种子(例如,
JBSWY3DPEHPK3PXP)。 - 保存: 点击 Add 以安全地存储凭据。
安全说明
所有 TOTP 种子在静态时均已加密,并且绝不会在扫描日志或结果中公开。此实现完全符合 RFC 6238 TOTP 标准。
4. 手动 2FA
手动 2FA 是专有、复杂或无法完全自动化的遗留身份验证流程的理想选择。
当扫描器遇到 2FA 步骤时,它会自动暂停,并显示一个用于手动输入代码的模态框。提交后,扫描将恢复进行。
配置
- 导航: 转到 Scan > Test Credentials > New > 2FA Manual。
- 凭据名称: 为此凭据提供一个描述性名称。
- 发送者: 输入一个参考标签(例如,
helpdesk)以识别手动请求的来源。 - 保存: 点击 Add 存储凭据。
操作提示
请确保您能够监控扫描的进度,因为扫描器将处于“暂停”状态等待人工干预,直到提供代码为止。
输入令牌
当扫描因等待人工干预而暂停时,请按照以下步骤输入令牌:
-
扫描详细信息: 点击正在进行的扫描的详细信息。
-
选择 OTP: 点击您之前创建的手动 OTP 凭据。
-
点击 Manual OTP: 点击 MANUAL OTP 按钮。
-
提交: 输入收到的令牌(例如,
751629)并提交以恢复扫描。
验证结果
扫描完成后,您可以通过检查 Call Coverage 来验证扫描器是否成功导航了 2FA 身份验证流程:
- 导航到 Scan Details 页面。
- 选择 Call Coverage 选项卡。
- 查看请求以确认扫描器成功执行了登录并绕过了 2FA 步骤,访问了应用程序中受保护的区域。