SuperAPI AI 工具集

web-vuln-oauth

安全与审计

查看项目

更新于 10-16 05:42

技能介绍

用途:针对带“使用某平台登录”按钮的应用、自建 OAuth 授权服务器、移动端或 SPA 客户端,以及包含认证或 SSO 的漏洞赏金范围,测试 OAuth 2.0 / OIDC 配置缺陷导致的账户接管(ATO)。

主要能力:覆盖 11 种 redirect_uri 绕过技术(开放重定向、子域匹配、域名作参数、片段滥用、参数污染、URL 编码、IDN 同形字、双重编码、反斜杠归一化、localhost 变体、协议混淆);检查公共客户端是否强制 PKCE;测试 state 参数缺失与固定(OAuth CSRF);评估授权码经 Referer 泄露给第三方;检查隐式流与令牌进入浏览器历史;以及 scope 提权。

使用方式:需安装 curl,建议配合 Burp Suite 拦截重放授权流程,并准备两个测试账号。先通过 OIDC 发现文档获取端点:curl -s "$ISSUER/.well-known/openid-configuration" | python3 -m json.tool,以及 curl -s "$ISSUER/.well-known/oauth-authorization-server" | python3 -m json.tool。随后设置 AUTH_ENDPOINT、TOKEN_ENDPOINT、CLIENT_ID、REDIRECT_URI、SCOPE 等变量,依次执行基线请求、redirect_uri 绕过测试、无 code_challenge 的 PKCE 测试、无 state 与空 state 测试、Referer 泄露检查、response_type=token 隐式流检查,最后记录 ATO 影响链。

适用场景:认证与 SSO 安全审计、移动端与 SPA 客户端 PKCE 合规检查、漏洞赏金认证范围测试。

限制:redirect_uri 绕过严重性取决于攻击者能否在受害者之前接收并兑换授权码,竞态窗口会降低可利用性;PKCE 对公共客户端为强制要求(RFC 9700 / OAuth 2.1),机密客户端缺失 PKCE 严重性较低;state 防 CSRF 但不防授权码拦截,两者需同时存在;多 OAuth 提供商场景可能存在 mix-up 攻击。参考 RFC 6749、RFC 7636、RFC 9700 与 OpenID Connect Core 1.0。