认证绕过¶
WEB · 知识域。身份认证体系攻击:JWT、会话、OAuth/SAML、协议级绕过。标签:JWT绕过、HTTP基础验证绕过、Cookie绕过。
触发特征¶
Authorization: Bearer eyJ...(JWT)、remember-me、Basic 认证弹窗。- SSO/OAuth/SAML 流程题;"伪造管理员身份"类目标。
JWT绕过¶
- alg:none:头部改
{"alg":"none"}去签名直接改 payload;各库的历史版本可打。 - 算法混淆 RS256→HS256:用公开的 RSA 公钥当 HMAC 密钥签名。
- 弱密钥爆破:
hashcat -m 16500+ jwt-secrets 字典(→ 暴力破解)。 - 头注入:JWK 注入(自带公钥)、JKU 注入(指向攻击者 jwks)、KID 注入(路径穿越读可控文件 / SQL 注入)。
- 业务复用:余额/token 值放 payload 内直接改(MetaShop 模式);JWE 公钥暴露时伪造 token(UTCTF 2026)。
- 工具:
jwt_tool全模式自动化。
Cookie绕过¶
- 明文/简单编码:
admin=0→1、base64、rot13。 - Flask session:SECRET_KEY 爆破后伪造(→ 暴力破解);Laravel
APP_KEY泄露解密改密文 → 文件泄露。 - 序列化型 cookie:PHP session 序列化注入、Rails Marshal、Python pickle(→ 对应语言页)。
- Cookie 属性绕过:改
role、uid、时间戳种子生成(CyberSecurityRumble 2016)。 - AES cookie 长度域截断 + CRC32 置换伪造(DefCamp 2018)。
- 哈希签名绕过:base64 解码宽松性 + 参数覆盖(BCTF 2016);哈希长度拓展(→ Crypto-SHA1)。
HTTP基础验证绕过¶
- Basic 认证爆破(
hydra -L u -P p target http-get /admin)。 - 路径级绕过:大小写、尾斜杠、
/./、URL 编码、双斜杠绕过 location 匹配(→ HTTP请求)。 .htpasswd泄露 → hashcat 爆破(-m 1800bcrypt/md5apr1)。- 服务端
memcmp短路 /strncmp(n=0)空 token 绕过(UCSB iCTF 2018)。
协议与基础设施¶
- SRP 绕过:发送
A=0/A=n使共享密钥恒 0(OTW Advent 2018);std::unordered_set桶碰撞伪造会话(Hackover 2018)。 - Unicode 同形用户名碰撞:nodeprep.prepare 归一化冲突注册
Admin变体(HCTF 2018);JavahashCode()碰撞绕过(CSAW 2017)。 - OAuth/OIDC:开放重定向偷 code、state 缺失 CSRF、ID token 操纵、email 子地址绕过(
a+admin@x.com,HITCON 2017)。 - SAML:XPath 摘要走私(CVE-2024-45409)、签名包裹攻击。
- TOTP 恢复:服务端
srand(time())可预测种子还原 TOTP 密钥(TUM CTF 2016)。 - 固定会话/会话不轮换:登录前后 session 不变 → session fixation。
- 公开管理路由种 Cookie(EHAX 2026);永真哈希校验(0xFun 2026)。
检查清单¶
- token 结构解码(JWT 三段、cookie 编码)。
- 签名验在哪、密钥从哪来、能否降级/混淆。
- 服务端校验点逐个试:改 payload、改头、去签名、换算法。
转向¶
- 爆破与字典 → 暴力破解;拿下后台后 → 各注入/上传技能