用途:针对 JWT 验证器的加密类缺陷进行安全测试,目标是通过伪造令牌冒充他人或管理员身份,读取不应访问的数据或执行管理员操作。
主要能力:alg:none(删除签名并修改载荷,注意尝试 None/NONE 等大小写变体);RS256→HS256 密钥混淆(用服务端 RSA 公钥作为 HMAC 密钥重签,可用 jwt_tool <token> -X k -pk public.pem);kid 头注入(如 kid 指向 ../../dev/null,用空密钥签名,亦可携带 SQLi、命令注入或 SSRF);jku/x5u 头注入(托管自控 JWKS,用自有私钥签名,必要时结合开放重定向或 SSRF);jwk 头自签名公钥注入;过期与 nbf/exp 时间声明操控;跨租户声明注入(org_id、tenant、account_id 等);HS256 弱密钥离线破解(hashcat -a 0 -m 16500 <jwt_file> rockyou.txt;jwt_tool <token> -C -d wordlist.txt)以及 Nuclei 自动化扫描(nuclei -u <target_url> -t jwt/ -timeout 10s)。
使用方式:先侦察应用是否使用 JWT(登录/token 响应、Bearer 头、/.well-known/jwks.json 或 JS 包中的公钥),解码首段头部判断 alg;用专用工具完成编码与签名,不要手工 base64;载荷结构需匹配真实令牌的声明名,仅改身份或角色;伪造被接受后立即升级到管理员端点并执行管理员动作(如删除用户),用伪造令牌读取他人数据或完成任务作为影响证明。
限制:仅限获得授权的安全测试;文中未说明技能的安装方式、适用平台与收费信息,暂未提供。成功标准是跨身份数据访问,返回自身数据或 401 不构成证明。