用途:面向授权安全测试,梳理 JWT(Header.Payload.Signature 三段 Base64 结构)的常见攻击与验证步骤;当响应头、Cookie、Authorization: Bearer 或 API 返回 token/access_token 出现 eyJ 开头字符串时适用。
主要能力与流程:一、获取与解码,手动执行 echo '<part>' | base64 -d,检查 alg、kid/jku/x5u 及 sub、role、admin、is_admin、user_id、exp 等 Claims,并对比不同用户 token 差异。二、None 算法攻击,将 Header 的 alg 改为 none 并删除签名部分(保留末尾的 .),测试大小写变种 none/None/NONE/nOnE/NoNe。三、弱密钥爆破(HS256/HS384/HS512),可先手测 secret、password、123456、key、jwt_secret、changeme、空字符串;离线用 hashcat -m 16500 jwt.txt wordlist.txt、john jwt.txt --wordlist=wordlist.txt --format=HMAC-SHA256、./jwtcrack <token>、python3 jwt_tool.py <token> -C -d wordlist.txt;已知密钥后用 jwt.encode 重签伪造。四、Claims 篡改,修改 role、is_admin、user_id、exp,或新增 admin、groups 字段后重签并观察响应差异。五、RS256→HS256 算法混淆,先确认服务端使用 RS256,从 /api/jwks、/.well-known/jwks.json、/oauth/jwks 获取公钥,再把 alg 改为 HS256 并以公钥作对称密钥签名。六、kid 参数注入,测试 SQL 注入、路径穿越(如 ../../dev/null)、命令注入、SSRF 等情形。
限制:资料未列出完整 payload、脚本与弱密钥模式表,仅指向 references/jwt-advanced.md;适用范围为授权安全测试,工具与命令的运行环境、版本、参数支持情况暂未提供。