用途:面向 OAuth 2.0 / OpenID Connect 认证流程的授权安全测试,目标是找出认证服务器与客户端对浏览器转发参数(redirect_uri、state、scope)的过度信任问题。仅可用于已获授权的系统。
主要能力:
- 从 OIDC 发现文档枚举端点与配置,如 curl -s https://target/.well-known/openid-configuration | jq .,并检查 /.well-known/oauth-authorization-server、按租户或 realm 的变体。重点字段包括 authorization_endpoint、token_endpoint、userinfo_endpoint、jwks_uri、response_types_supported、grant_types_supported、code_challenge_methods_supported、scopes_supported。
- redirect_uri 校验绕过:路径穿越、追加路径、子域与域后缀、解析器混淆(@、%2F、#)、scheme 降级、localhost 白名单,以及在 /authorize 与 /token 处分别验证。
- 利用白名单域上的开放重定向作为回传通道;state 缺失或未校验导致的登录 CSRF/账户注入;PKCE 缺失、降级为 plain、错误 code_verifier;隐式流片段令牌泄露;授权码重放、注入、跨客户端替换;scope 提升与同意绕过;response_mode / response_type 混淆;access_token 与 id_token 混用;id_token 声明(iss、aud、azp、exp、nonce)校验缺失;基于 email/email_verified 的联合登录接管;设备码流程与同意钓鱼。
使用方式:先跑发现文档与客户端 JS 包收集端点、client_id、redirect_uri、scope;再构造 authorize 与 token 请求验证各项弱点;配合 Burp Suite、EsPReSSO、JWT 编辑器、mitmproxy 捕获片段与 postMessage 流量。ATT&CK 覆盖 T1528、T1606。
限制:令牌本身的伪造与破解属 attacking-jwt;一般 Web 测试、持令牌后的 API 测试、Entra 专项、面向真实用户的大规模钓鱼分别属于其他技能。资料未提供具体环境搭建、耗时或授权范围说明。签名侧攻击、检测与响应内容不在本技能范围内,需参考对应技能。