OAuth攻击测试清单
将以下提示词粘贴到你的 AI 对话框中:
请根据 https://skillhub.cn/install/skillhub.md,安装 @user_3c6cb52e/oauth-d3hx。
技能介绍
要解决的安全问题
在OAuth 2.0集成中,开发者常因配置不当引入严重漏洞:
redirect_uri验证不严格导致开放重定向,攻击者可截获授权码- 缺失或弱加密的
state参数引发CSRF攻击,造成账户绑定劫持 - 未强制使用PKCE的授权码流程易被中间人攻击窃取令牌
- 令牌存储于
localStorage等前端可访问位置,易被XSS窃取 - 作用域(scope)验证松散导致权限提升,突破业务边界
技能如何工作
该技能提供结构化攻击测试方法,核心能力包括:
攻击面探测
- 使用Burp/ZAP拦截OAuth交互流程,识别
authorize和token端点参数 - 检查
redirect_uri是否允许路径遍历或子域名匹配(如evil.com匹配example.com) - 验证
state参数是否为加密随机值且单次使用,测试缺失时是否触发CSRF
漏洞利用测试
- 授权码劫持:篡改
redirect_uri指向攻击者控制端点,捕获受害者授权码 - PKCE绕过:检查
code_verifier是否强制验证,尝试不提供或弱随机值攻击 - 令牌泄漏检测:分析Referer头是否包含
access_token,测试隐式流程是否将令牌暴露在URL片段
攻击链构建
- 通过开放重定向+授权码注入实现跨域账户接管
- 利用JWT算法混淆(RS256→HS256)伪造高权限令牌
- 结合token exchange协议实现服务间横向移动
适用边界与注意点
- 仅限授权测试环境:需明确获得目标系统测试授权,避免法律风险
- 依赖代理工具:需配合Burp Suite等工具完成流量拦截与篡改
- 移动端适配:需额外验证App Links/Universal Links是否验证回调URL
- 现代框架适配:FAPI 2.0合规系统需重点测试PAR/JAR/JARM扩展实现
使用场景
- 渗透测试中需验证目标OAuth实现是否存在redirect_uri校验绕过
- 开发第三方应用时需测试授权码流程是否强制PKCE保护
- 代码审计中发现客户端将令牌存储于localStorage需评估风险
- 安全评估中需检测OAuth流程state参数缺失导致的CSRF漏洞
适合人员
- Web应用安全工程师需要测试OAuth实现的授权流程安全性
- 全栈开发者需要在集成OAuth时验证安全配置完整性
- 渗透测试人员需要利用OAuth漏洞实施账户劫持攻击
- DevSecOps工程师需要在CI/CD流程中集成OAuth安全检测