hunt-auth-bypass · git:20260806.1b94651 · 2026-08-06 · sha256 0875c3cc92b52255
hunt-auth-bypass git:20260806.1b94651A
Immutable. This exact content is served forever at /api/v1/blob/0875c3cc92b52255.
--- name: hunt-auth-bypass description: 在授权渗透测试中挖掘认证/授权绕过(authentication & authorization bypass)。当目标的登录、SSO/OAuth/SAML、2FA、会话、密码重置、邮箱验证等鉴权环节可能被逻辑缺陷或解析差异绕过时使用——典型场景:SAML 签名/entityId 绕过、OAuth `response_type`/`redirect_uri` 篡改窃取 token、邮箱规范化/预验证绕过、2FA 可预测/可跳过、会话类型混淆。适用目标类型 Web / REST API / SSO。触发场景包括用户说"测下认证绕过""这个 SAML/OAuth 有没有问题""能不能跳过 2FA""邮箱验证能绕吗"。输出:绕过路径 + 越权访问证据的 finding(含 killed 记录)。 allowed-tools: Read, Grep, Glob, Bash --- # hunt-auth-bypass · 认证/授权绕过猎杀 只解决**认证与授权绕过一类**:登录、SSO(SAML/OAuth/OIDC)、2FA、会话、密码重置、邮箱验证等环节的逻辑缺陷与解析差异。这类漏洞**高度依赖业务流程**,脚本只做入口枚举与已知模式探测,真正判定靠**能否以他人身份/越权访问**为客观标准,多数验证需人工按流程走。 绕过认证会触及他人账户,风险与合规敏感。默认只在**自己控制的测试账户**间验证(A 账户能否越权访问 B 的资源/身份),不碰真实用户数据。已知模式与真实报告见 `reference.md`。 ## Scope(授权范围) **先确认授权。** 落实:授权目标、可用的测试账户(至少 2 个,用于验证越权)、允许触碰的鉴权环节、明确禁止访问真实用户数据。任一不清楚就停下问。 ## Goal 判定鉴权环节能否被绕过达成**以他人身份登录 / 越权访问 / 跳过 2FA / 接管账户**,给出可复现路径与越权证据。 ## Workflow `scope-check → recon → hunt → validate → report`。 ### 1. scope-check - **动作**:写 `evidence/scope.txt`(含测试账户)。 - **命令**:`bash tools/recon.sh <target> --scope-only`。 - **终止条件**:scope 与测试账户明确,否则 KILL。 ### 2. recon - **动作**:识别鉴权面——登录/注册/重置端点、SSO 类型(SAML/OAuth/OIDC,看 `SAMLResponse`/`response_type`/`redirect_uri`/`id_token`)、2FA 机制、会话 cookie 结构。 - **输出**:`recon/endpoints.json`(鉴权入口 + 机制指纹)。 - **命令**:`bash tools/recon.sh <target>`。 - **终止条件**:至少识别出一种鉴权机制。 ### 3. hunt - **动作**:按 `reference.md` 对识别出的机制跑已知模式检查:OAuth `response_type=code id_token`/`response_mode=fragment` 篡改、`redirect_uri` 宽松匹配、SAML 签名剥离/`entityId` 尾随空格、邮箱规范化差异、2FA 可预测/可跳过。多数产出"待人工按流程验证"的结构化清单。 - **输出**:`candidates.json`。 - **命令**:`python tools/hunt_authbypass.py --input recon/endpoints.json --output candidates.json`。 - **终止条件**:`candidates.json` 生成。 ### 4. validate → report - **动作**:过 **7-Question Gate**,用**两个测试账户**验证越权(A 拿到 B 的身份/资源)取证。任一 NO → killed。 - **命令**:`bash tools/validate.sh candidates.json`。 - **终止条件**:每条 confirmed/killed,confirmed 有越权访问证据。 ## 7-Question Gate(任一 NO 则 KILL) 1. 目标在**授权 scope** 内、且只用**测试账户**? 2. 命中的是**真实鉴权环节**(非无鉴权的公开资源)? 3. 有**客观信号**(以他人身份登录 / 拿到他人资源 / 跳过了 2FA),非猜测? 4. 确实**越权**(跨越了身份/权限边界)? 5. **可复现**? 6. 已留存**越权访问证据**(响应含他人数据/会话)? 7. 影响可陈述,且**未触碰真实用户数据**? ## Finding 输出格式 ``` ### <Title> - Severity: Critical | High | Medium | Low | Info - Asset: <鉴权入口 + 机制> - Reproduction: <逐步流程 + 篡改点 + 请求> - Impact: <账户接管 / 越权访问 / 2FA 绕过> - Evidence: <evidence/ 越权响应(测试账户间)> - Status: confirmed | killed(<第几问 NO>) ``` ## 参考 各机制绕过模式(SAML / OAuth-OIDC / 2FA / 邮箱验证 / 会话 / 密码重置)、检测特征、真实报告见 `reference.md`。