json web token(JWT)绕过

前期准备

本次试验用到靶场WebGoat,如何安装WebGoat?


Broken authentication——JWT tokens的第五题,首先随便切换一个用户,例如Tom,再点击删除图标,进行抓包。
在这里插入图片描述
抓到的包如下图
在这里插入图片描述
将其中的JWT值取出来,放到JWT在线解密平台

在这里插入图片描述
这里分为了三个部分,头部,声明,签名(分别对应红、紫、蓝),签名出需要秘钥进行加密,但我们没有秘钥应该如何绕过呢?

JWT绕过

1.将头部信息的alg值改为none,并进行base64加密
在这里插入图片描述
2.将声明部分的admin值改为true,也进行base64加密
在这里插入图片描述
3.新组合的JWT应该为头部.声明.(因为头部中的加密方式为none,所以签名部分可以舍去),但又由于=号会与url解码产生歧义,所以需要将=号删除,而Base64URL是支持这种写法的
在这里插入图片描述
4.最终的JWT值为:

ewogICJhbGciOiAibm9uZSIKfQ.ewogICJpYXQiOiAxNjQ4MjU2NDM3LAogICJhZG1pbiI6ICJ0cnVlIiwKICAidXNlciI6ICJTeWx2ZXN0ZXIiCn0.

5.将新的JWT值放入数据包中进行测试,成功执行
在这里插入图片描述

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

向阳-Y.

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值