JWT漏洞初步了解

admin 2025-12-23 15:58:36 网络安全文章 来源:ZONE.CI 全球网 0 阅读模式

文章总结: 本文简述JWT的结构与原理,分析其优缺点。重点演示了JWT未验证签名漏洞的利用:通过抓包修改Token负载将用户身份改为administrator,绕过认证访问管理面板并删除用户。实战揭示了JWT若缺失签名验证将导致严重的权限提升风险,建议开发者严格校验签名。 综合评分: 85 文章分类: 渗透测试,WEB安全,漏洞分析


cover_image

JWT漏洞初步了解

原创

Caigensec

菜根网络安全杂谈

2025年2月10日 12:08 安徽

点击标题下「蓝色微信名」可快速关注

免责声明:本文仅用于合法范围的学习交流,若使用者将本文用于非法目的或违反相关法律法规的行为,一切责任由使用者自行承担。请遵守相关法律法规,勿做违法行为!本公众号尊重知识产权,如有侵权请联系我们删除。

01

JWT是什么

JWT(JSON Web Token),用于在网络应用环境间安全传递声明。通常用于身份验证和信息交换,因其紧凑、自包含且易于传输的特性而被广泛使用。

JWT 由三部分组成,用点号.分隔:Header(头部)、Payload(负载)、Signature(签名)

1、JWT工作流程

用户登录:客户端发送凭据(如用户名和密码)到服务器。

生成 JWT:服务器验证凭据后,生成 JWT 并返回给客户端。

存储 JWT:客户端存储 JWT(通常在 localStorage或 sessionStorage中)。

发送 JWT:客户端在后续请求的 Authorization头中携带 JWT。

验证 JWT:服务器验证 JWT 的签名和有效期,确认请求合法性。

2、JWT的一些特点

(1)JWT 的优点

无状态:服务器无需存储会话信息,所有数据都在 JWT 中。

跨域支持:适用于分布式系统和跨域认证。

安全性:通过签名确保数据完整性和真实性。

(2)JWT 的缺点

无法撤销:一旦签发,JWT 在有效期内无法撤销,除非设置较短的有效期或使用黑名单。

存储问题:JWT 存储在客户端,可能面临 XSS 攻击风险。

数据暴露:负载中的数据是 Base64 编码,非加密,敏感信息需额外加密。

02

JWT靶场练手

靶场地址:https://portswigger.net/web-security/all-labs#jwt

Lab: JWT authentication bypass via unverified signature

实验目标:请修改会话令牌以访问/admin的管理面板,然后删除用户carlos。

(1)登录靶场提供的账号/密码wiener:peter

(2)点击My account,进行抓包,发现cookie是一串ey开头的代码,并用点号.隔开

(3)jwt解码,观察内容

jwt解码网址:https://jwt.io/

(4)回到burp,选中jwt的payload部分,在右侧将wiener修改为administrator,点击Apply change

(5)请求部分改为/admin,并观察响应包,发现成功

(6)再次把请求部分改为/admin/delete?username=carlos,实验解决

THE END

亲爱的朋友,若你觉得文章不错,请点击关注。你的关注是笔者创作的最大动力,感谢有你!


免责声明:

本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。

任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。

本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我

本文转载自:菜根网络安全杂谈 Caigensec《JWT漏洞初步了解》

评论:0   参与:  1