Json web token (JWT)渗透与防御及ctf例题

第三部分的signature签名用来认证签名是否被更改

算法为none是因为开发人员为了更方便的修改,把header部分设置为none,从而不用进行第三部分签名的认证。

注:一定要先切换到jwt_tool目录下面使用

还可以使用-c -d参数使用自带的字典进行爆破密钥

还可以使用jwt-cracker-master工具进行爆破,如下图所示

还有kali自带的工具hashcat,可以用来进行爆破

下面用一道ctfhub的jwt敏感信息泄露来举例

可以看到我们登录进去后,用f12检测可以发现他有着jwt形式的token,这里也可以用bp进行抓包,下面用kali中的jwt_tool工具进行破解,可以看到flag

还有一道类似的题,需要用到爆破工具,可以抓到包,看到jwt数据,拿到kali中进行jwt工具的扫描

从题目中可以知道必须要成为admin才可以得到flag,而我们是guest,所以我们可以试试把签名设置为空

下图是把签名设置为空,role设置为admin

注:因为采用了none算法 签名部分可以为空,header部分是定义加密算法的就可以不用

通过改完jwt再发包可以发现已经得到了flag

下面这道是修改签名算法,他给出了公钥,我们才可以修改

我们把公钥和用到的jwt加密脚本放到一个目录下面

直接运行脚本,就可以利用公钥,把我们的role身份修改为admin

抓包把jwt数据修改为我们跑出来的数据,可以得到flag

相关推荐
世界尽头与你8 分钟前
iOS 越狱检测原理
安全·网络安全·ios·信息安全·渗透测试
JoyCong199812 小时前
打破远程协助的安全信任困局,ToDesk AI审计功能自动操作留痕
网络·人工智能·科技·安全·电脑·远程工作
yunwei3717 小时前
实证研究:AI Agent 规则需要上下文与分层强制执行
linux·安全·ai编程
kp0000017 小时前
System Prompt Leakage(系统提示词泄露)及安全防御
网络·安全·网络安全·信息安全·prompt·ai安全
数据知道19 小时前
网络地址转换(NAT)与安全:映射原理、打洞与内网暴露风险
网络·安全·智能路由器·内网安全
灯澜忆梦20 小时前
Go 语言 _JSON---序列化与反序列化
开发语言·golang·json
kali-Myon20 小时前
深入 MySQL 内核:从临时哈希表分配机制详解 Floor 报错注入核心原理
数据库·sql·mysql·安全·web
Thecozzy21 小时前
游戏后端线上事故复盘
安全
kp0000021 小时前
AI系统输入安全基线
人工智能·安全·网络安全·信息安全·ai安全
李豆豆喵21 小时前
013-基础入门-身份鉴权&参考文章&发包工具项目等
web安全