JWT解释以及ctfshow web345、web346、web347、web348、web349、web834题解

JWT格式:

Header.Payload.Signature
在这里插入图片描述

Header: {
   "alg": "HS256","typ": "JWT"} 
其中 alg:表示使用的算法默认是HS256 ,typ:表示token类型  
然后再用Base64URL 算法进行机密生成一串字符串

Payload: 也是一个 JSON 对象,用来存放实际需要传递的数据。JWT 规定了7个官方字段,供选用。
{
   
  iss (issuer):签发人
  exp (expiration time):过期时间
  sub (subject):主题
  aud (audience):受众
  nbf (Not Before):生效时间
  iat (Issued At):签发时间
  jti (JWT ID):编号
}
当然也可以在这一部分存储自己定义的端
Signature:这一部分就是 base64UrlEncode(header)+ base64UrlEncode(palyoad)+密钥
使用alg的算法进行加密

JWT原理:

在这里插入图片描述

web345

抓包访问/admin页面看到有这样一个内容,将这个内容进行base64解码

在这里插入图片描述

可以看到有前面两部分,在alg对应的是none就是没有加密方式

{
   "alg":"None","typ":"jwt"}?
  [{
   "iss":"admin","iat":1718866523,"exp":1718873723,"nbf":1718866523,"sub":"user","jti":"0212359dcd5afaabef646309ffb86792"}]

我们将内容复制进脚本里面

import jwt
payload = {
   "alg":"None","typ&
  • 14
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值