1.含义
JWT(JSON Web Token) 是一种基于 JSON 格式的开放标准(RFC 7519),用于在各方之间安全地传输声明(claims)。它通常用于身份验证和信息交换场景,具有轻量、自包含、无状态等特点。
2.JWT 的结构(由 . 分隔的三部分)
一个典型的 JWT 长这样:xxxxx.yyyyy.zzzzz
关键点:JWT 是验证数据完整性的机制,不是加密机制(除非额外使用 JWE)。
3.破解polar web靶场中jwt
(1)注册一个新用户
打开http://4ccb360f-a314-46a8-9b9d-b0759e96fee6.www.polarctf.com:8090/发现上图出现登录和注册两个功能,首先注册一个新用户。
(2)登录后发现cookie中存储着JWT的值
(3)对JWT代码进行解密
(4)使用jwt-cracker,然后利用这个工具爆破出密钥
(5)更改username为admin,然后进行编码,获得编码好的JWT值
(6)将原本的JWT值替换成新的JWT值,然后点击个人中心,能够发现flag(其实这是一个垂直越权漏洞)