jwt(二)

Java Web Token

渗透文章参考:https://xz.aliyun.com/t/12906#toc-1

常见的渗透姿势

下面的标题都是百度翻译的,抽象与我无关

1.通过未验证的签名绕过JWT身份验证

  靶场地址:https://portswigger.net/web-security/jwt/lab-jwt-authentication-bypass-via-unverified-signature

  写了一大堆,TM看不懂,大致意思就是我们有一个账户,然后需要通过admin接口删除carlos这个账号,开整。

靶场任务

  通过账号密码wiener:peter进行登录抓包。
登录

  在数据包中可以看到JWT,尝试直接修改payload验证签名是否会对信息原始性进行校验。

获取jwt

  直接将用户名修改为admin进行测试,发现签名不会对信息原始性进行校验。

解码jwt

伪造jwt

  直接调用admin接口(在这里发现只有administrator账户才有权限,注意进行更改),发现存在删除接口,直接删除账户,成功删除。

找到接口

调用接口

2.JWT通过有缺陷的签名验证绕过身份验证

  写了一大堆,TM和上一个一样。

实验目标

  这里大概意思就是让我们把header中的alg参数改为none,然后不让它验证签名。(说到alg最近碰到了关于nacos加密的问题,后面扩展更多的算法之后可以简单说一说)。

实验tips

  登录、抓包、拿jwt、解jwt,将alg改为none,将账户改为administrator。

获取jwt

解码伪造

  不让它验证签名直接把签名删除即可,成功绕过,这里有需要注意不要把.删了,否则不是一个完整的JWT,无法绕过。(实验完成部分如果重复的情况下不再截图)

成功伪造


jwt(二)
https://fliggyaa.github.io/2023/10/25/2023-10-25-jwt/
作者
fliggy
发布于
2023年10月25日
许可协议