个人博客地址
http://www.darkerbox.com
欢迎大家学习交流
Root-me网址:
https://www.root-me.org/en/Challenges/Web-Server/JSON-Web-Token-JWT-Introduction
知识点
- JWT
前言
如果没有了解过JWT。可以参考这篇文章。
https://www.freebuf.com/articles/web/180874.html
ok
Ok,现在你了解了一些JWT的基础知识。这些足够了。
来到登录页面
哦豁,看到个guest账号登录,咱登一下子。
没东西,既然是JWT,那就刷新页面抓包看看
在cookie中看见了jwt参数,意思已经这么明显了。每段base64解码看看
站长工具解码失败。
https://tool.oschina.net/encrypt?type=3
看见了payload中username是guest。第一反应就是改为admin。但是如果要改为admin的话。第三部分签名也需要变。但不知道密钥。所以不能直接修改
以下就个人理解了
加密算法改为None,则不需要加密,则签名为空。验证就可以通过。
这里可以使用python的pyjwt库。pip install pyjwt
import jwt
encoded = jwt.encode({'username': 'admin'}, '', algorithm='none')
encode方法接受很多个参数。这里我给了三个参数
第一个参数:payload
第二个参数:进行加密签名的密钥
第三个参数:签名加密方式
欢迎大家一起学习交流,共同进步,欢迎加入信息安全小白群