需要构造可控样本,还是检查已有样本?
需要固定 Claim、时间和算法来复现测试时使用 jwt-generator;需要调查真实授权样本的现象时使用 jwt-decoder,避免重新生成令牌掩盖问题。
Elysia Tools
导航
Workflow Playbook
生成受控 JWT 测试样本或检查已获授权的样本,审查 Claim、算法、过期状态、敏感字段和签名证据,并明确解码不等于验签。
专题
生成受控 JWT 测试样本或检查已获授权的样本,审查 Claim、算法、过期状态、敏感字段和签名证据,并明确解码不等于验签。
本指南将当前任务范围转化为可复核的交付结果。请保留源文件、中间产物和关键判断,让后续协作者能够理解检查了什么以及为什么这样处理。
只使用为本次审查生成的合成令牌,或使用样本所有者明确授权的令牌;不要使用仍可访问系统的生产 access token。
提前记录预期的 issuer、audience、允许算法、有效期政策,以及是否有权提供 HS256 密钥或 RS256 公钥。
准备在工单、截图和日志中遮盖令牌值及敏感 Claim 内容。
决策点: 需要构造可控样本,还是检查已有样本?. 需要固定 Claim、时间和算法来复现测试时使用 jwt-generator;需要调查真实授权样本的现象时使用 jwt-decoder,避免重新生成令牌掩盖问题。
决策点: 当前问题是结构问题,还是密码学问题?. jwt-decoder 只能展示 Header、Payload 和可选签名文本,不会验证签名。需要安全发现时使用 jwt-decoder-security-auditor;只有在获授权的 HS256 密钥或 RS256 公钥可用时才做实际签名核验。
决策点: 哪些 Claim 可以进入审查证据?. 可以保留问题类型和 Claim 名称,但应遮盖用户、租户、会话、邮箱或凭据值。解码后的 Payload 是可读的 base64url 数据,不是加密内容。
用明确的 issuer、audience、subject、过期时间和可选自定义 Claim 生成非生产 JWT。只使用测试密钥,并在继续前记下目标算法。 使用 jwt-generator.
解码已授权样本或刚生成的测试样本,分别查看 Header 与 Payload,确认有哪些时间 Claim;同时记录这一步不能证明签名有效。 使用 jwt-decoder.
把同一个受控样本交给审计器,检查算法风险、签名状态、已过期或尚未生效的时间、缺少 issuer 或 audience 的提示,以及可能暴露的敏感 Claim。只有获授权时才提供验签密钥。 使用 jwt-decoder-security-auditor.
只处理属于本次测试目标的发现,使用脱敏后的测试样本重新运行审计器,并记录哪些问题接受、哪些需要调整令牌政策、哪些因没有密钥仍未验证。 使用 jwt-decoder-security-auditor.
工作流指南
用明确的 issuer、audience、subject、过期时间和可选自定义 Claim 生成非生产 JWT。只使用测试密钥,并在继续前记下目标算法。
解码已授权样本或刚生成的测试样本,分别查看 Header 与 Payload,确认有哪些时间 Claim;同时记录这一步不能证明签名有效。
把同一个受控样本交给审计器,检查算法风险、签名状态、已过期或尚未生效的时间、缺少 issuer 或 audience 的提示,以及可能暴露的敏感 Claim。只有获授权时才提供验签密钥。
只处理属于本次测试目标的发现,使用脱敏后的测试样本重新运行审计器,并记录哪些问题接受、哪些需要调整令牌政策、哪些因没有密钥仍未验证。
需要固定 Claim、时间和算法来复现测试时使用 jwt-generator;需要调查真实授权样本的现象时使用 jwt-decoder,避免重新生成令牌掩盖问题。
jwt-decoder 只能展示 Header、Payload 和可选签名文本,不会验证签名。需要安全发现时使用 jwt-decoder-security-auditor;只有在获授权的 HS256 密钥或 RS256 公钥可用时才做实际签名核验。
可以保留问题类型和 Claim 名称,但应遮盖用户、租户、会话、邮箱或凭据值。解码后的 Payload 是可读的 base64url 数据,不是加密内容。