JWT漏洞初步了解

admin 2025年2月10日14:27:49评论7 views字数 984阅读3分16秒阅读模式
01

JWT是什么

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靶场练手

JWT漏洞初步了解

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

Lab: JWT authentication bypass via unverified signature

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

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

JWT漏洞初步了解

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

JWT漏洞初步了解

(3)jwt解码,观察内容

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

JWT漏洞初步了解

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

JWT漏洞初步了解

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

JWT漏洞初步了解

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

JWT漏洞初步了解
JWT漏洞初步了解
THE END

 

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

原文始发于微信公众号(菜根网络安全杂谈):JWT漏洞初步了解

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2025年2月10日14:27:49
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   JWT漏洞初步了解https://cn-sec.com/archives/3722209.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息