理解JSON Web Token(JWT)安全
从基础到突破认证
JSON Web Token(JWT)已成为现代认证系统的核心组成部分。对于渗透测试人员或漏洞赏金猎人而言,理解JWT漏洞不仅有益,更是必不可少。本文将带您了解JWT安全测试所需的基础知识。
JWT安全概述
什么是JWT?快速回顾
JWT是RFC 7519标准中定义的一种规范,可通过三种方式实现:JSON Web签名(JWS)、JSON Web加密(JWE)或无安全JWT。JWS被广泛使用,通过签名保护声明的完整性;而JWE通过加密整个内容确保机密性,仅持有解密密钥的各方可访问。在无安全JWT实现中,“alg"参数被设置为"none”。
JSON Web Token(JWT)包含三个部分:
- JOSE(JSON对象签名和加密)头部
- 有效载荷
- 签名
JWT结构 = 头部.有效载荷.签名(base64url编码部分)
头部:包含算法(HS256、RS256)、类型(typ)和密钥ID(kid)等信息
有效载荷:包含声明(sub、iss、aud、exp、role等)。这些内容未加密,任何人都可读取。JWT的有效载荷存储着各种声明信息…
创建账户以阅读完整内容 本文仅向Medium会员开放 如果您是Medium新用户,可创建新账户免费阅读本文