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验证签名是否会对信息原始性进行校验。
直接将用户名修改为admin进行测试,发现签名不会对信息原始性进行校验。
直接调用admin接口(在这里发现只有administrator账户才有权限,注意进行更改),发现存在删除接口,直接删除账户,成功删除。
2.JWT通过有缺陷的签名验证绕过身份验证
写了一大堆,TM和上一个一样。
这里大概意思就是让我们把header中的alg参数改为none,然后不让它验证签名。(说到alg最近碰到了关于nacos加密的问题,后面扩展更多的算法之后可以简单说一说)。
登录、抓包、拿jwt、解jwt,将alg改为none,将账户改为administrator。
不让它验证签名直接把签名删除即可,成功绕过,这里有需要注意不要把.删了,否则不是一个完整的JWT,无法绕过。(实验完成部分如果重复的情况下不再截图)
jwt(二)
https://fliggyaa.github.io/2023/10/25/2023-10-25-jwt/