ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

CTFshow JWT

2021-11-07 20:00:22  阅读:244  来源: 互联网

标签:sub JWT 解码 jwt token CTFshow alg


前置知识:

jwt(JSON Web Token)是一串json格式的字符串,由服务端用加密算法对信息签名来保证其完

整性和不可伪造。Token里可以包含所有必要信息,这样服务端就无需保存任何关于用户或会话的

信息,JWT可用于身份认证、会话状态维持、信息交换等。它的出现是为了在网络应用环境间传递

声明而执行的一种基于JSON的开放标准((RFC 7519).该token被设计为紧凑且安全的,特别适

用于分布式站点的单点登录(SSO)场景。

一个jwt token由三部分组成,header、payload与signature,以点隔开,形如

aaaa.bbbb.cccc。

一个具体的例子:

eyJhbGciOiJOb25lIiwidHlwIjoiand0In0.W3sic3ViIjoidXNlciJ9XQ

header用来声明token的类型和签名用的算法等,需要经过Base64Url编码。比如以上token的

头部经过base64解码后为{"alg":"HS256","typ":"JWT"}

eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9

解码为

{   

"alg": "HS256",

    "typ": "JWT"

}

alg属性表示签名的算法(algorithm),默认是 HMAC SHA256(写成 HS256);

typ属性表示这个令牌(token)的类型(type),JWT 令牌统一写为JWT

payload用来表示真正的token信息,也需要经过Base64Url编码。比如以上token的payload

经过解码后为{"sub":"1234567890","name":"John Doe","iat":1516239022}

eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ

解码为

 {   

  "sub": "1234567890",  

"name": "John Doe",

"iat": 1516239022

}

JWT 规定了7个官方字段,供选用

iss (issuer):签发人

exp (expiration time):过期时间

sub (subject):主题

aud (audience):受众

nbf (Not Before):生效时间

iat (Issued At):签发时间

jti (JWT ID):编号

 

signature,将前两部分用alg指定的算法加密,再经过Base64Url编码就是signature了,

作用是防止数据篡改。

 

解码:

一般推荐去http://jwt.io/解码,拿上面这个例子

 

JWT攻击技巧

https://xz.aliyun.com/t/2338

 

345

jwt:

 

 

在jwt.io转换后,发现不存在第三部分的签证,也就不需要知道密钥

 

HEADER




{

  "alg": "None",

  "typ": "jwt"

}




PAYLOAD

[

  {

    "iss": "admin",

    "iat": 1627872003,

    "exp": 1627879203,

    "nbf": 1627872003,

    "sub": "user",

    "jti": "18a7e3cc6fcbe34de771db64ee3f9957"

  }

]

 

只要把sub中的user换成admin后在base64加密,然后访问/admin/即可

 

345-346

根据题目提示,弱密码

 

 

修改key为123456

sub为admin

 

标签:sub,JWT,解码,jwt,token,CTFshow,alg
来源: https://www.cnblogs.com/nov1ce/p/15521439.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有