当前位置: 首页 > news >正文

【JWT漏洞】

一、JWT 基础概念

  1. ​定义与用途​​:JWT是一种用于网络认证和信息安全传输的开放标准,由头部、载荷和签名三部分组成,具有体积小、无状态、适合分布式系统等优势。

  2. ​结构剖析​​:包含三要素:

    • ​Header​​:定义令牌类型和签名算法。

    • ​Payload​​:存储实际传递的数据。

    • ​Signature​​:用于验证令牌完整性和真实性。

二、JWT攻击与防御

攻击类型

攻击原理

检测方法

​算法篡改​

将算法改为 none或弱算法(如HS256改为RS256)以绕过签名验证

修改算法字段重放请求,观察是否验证通过

​密钥破解​

对弱密钥进行暴力破解,获取后伪造合法签名

使用常用密钥字典进行离线破解尝试

​敏感信息泄露​

JWT的Payload部分仅经过Base64编码,可被直接解码查看

使用jwt.io等工具解码,检查是否包含密码等敏感信息

​未授权访问​

系统未正确验证Token有效性或过期时间

删除Token或使用过期Token访问,观察是否仍能正常响应

 

三、JWT安全实践

  1. ​使用强密钥​​:采用随机生成的复杂密钥,并严格管理访问权限。

  2. ​限制有效期​​:为JWT设置较短的有效期,并定期刷新。

  3. ​强制HTTPS​​:确保JWT在传输过程中始终被加密。

  4. ​算法校验​​:服务器端应强制验证签名算法是否符合预期。

四、关键检测流程

  1. ​信息收集​

    • 使用jwt.io解码Token,分析Header和Payload内容。

    • 重点检查alg(算法)、exp(过期时间)、kid(密钥ID)等字段。

  2. ​漏洞探测​

    • ​权限控制测试​​:删除Token,重放请求,测试未授权访问。

    • ​时效性测试​​:使用过期的Token(检查exp字段)访问,验证是否仍有效。

    • ​算法混淆测试​​:尝试修改算法为none或非对称算法,测试签名验证是否严格。

  3. ​深入利用​

    • ​密钥爆破​​:对弱签名进行离线暴力破解。

    • ​参数注入​​:尝试对kid等参数进行路径遍历或SQL注入测试。

五、实战

登录JWT靶场https://authlab.digi.ninja/Leaky_JWT

eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJsZXZlbCI6ImFkbWluIiwicGFzc3dvcmQiOiIyYWM5Y2I3ZGMwMmIzYzAwODNlYjcwODk4ZTU0OWI2MyIsInVzZXJuYW1lIjoiam9lIn0.6j3NrK-0C7K8gmaWeB9CCyZuQKfvVEAl4KhitRN2p5k#去掉.前.后
eyJsZXZlbCI6ImFkbWluIiwicGFzc3dvcmQiOiIyYWM5Y2I3ZGMwMmIzYzAwODNlYjcwODk4ZTU0OWI2MyIsInVzZXJuYW1lIjoiam9lIn0

64明文然后得到password的MD5加密,继续转换,就得到用户名和密码了 

下一个

      JWT通常由头部(Header)、载荷(Payload)和签名(Signature)三部分组成,签名用于验证令牌的完整性。某些JWT解析器存在一个漏洞:允许将算法(alg)设置为“none”,从而禁用签名验证。这意味着攻击者可以伪造任意令牌,而无需知道密钥。

JWT令牌的格式为:Base64URL(Header).Base64URL(Payload).Signature。对于“none”算法,签名部分应为空。

解密出来把HS256改为None,再一起加密

中间段同样操作,解密把用户名和密码改成你想要的,在加密粘贴上去payload

     用JWT解析器的缺陷,通过将算法设置为“none”绕过签名验证。操作关键是正确构造头部和载荷,并进行Base64URL编码。

从这里看到已经绕过认证。

http://www.dtcms.com/a/490460.html

相关文章:

  • 2025年10月版集成RagFlow和Dify的医疗知识库自动化查询(安装篇)
  • 苏州手机网站建设多少钱上海小程序定制公司
  • YOLO-V1 与 YOLO-V2 核心技术解析:目标检测的迭代突破
  • HarmonyOS Next 实战技巧集锦
  • 【鸿蒙进阶-7】鸿蒙与web混合开发
  • HarmonyOS Next 快速参考手册
  • 8.list的模拟实现
  • 鸿蒙NEXT按键拦截与监听开发指南
  • 网站建设等级定级企查查官网查企业网页版
  • 【数据结构】基于Floyd算法的最短路径求解
  • 【传感器技术】入门红外传感器技术
  • 成都哪里做网站便宜郴州新网招聘官网
  • 天地一体:卫星互联网与5G/6G的融合之路
  • BCH码编译码仿真与误码率性能分析
  • 5G+AIoT智赋,AI电力加密边缘网关智慧电网数字化运维解决方案
  • 深度学习:PyTorch Lightning,训练流程标准化?
  • 100G 单纤光模块:高带宽传输新选择,选型与应用全解析
  • 网站开发的技术有gis网站开发实战教程
  • 汕头网站建设技术外包模板网站怎么用
  • 2025-10-16-TH 开源框架JeecgBoot Pro搭建流程
  • 二叉树搜索树插入,查找,删除,Key/Value二叉搜索树场景应用+源码实现
  • 2025年10月版集成RagFlow和Dify的医疗知识库自动化查询(数据篇)
  • UVa 12803 Arithmetic Expressions
  • json转excel xlsx文件
  • 【C++】深入理解string类(5)
  • 六、Hive的基本使用
  • 铜陵网站建设推广江苏核酸检测机构
  • 电子商务网站建设含义如果做车站车次查询的网站需要什么消息信息
  • 【JETSON+FPGA+GMSL】实测分享 | 如何实现激光雷达与摄像头高精度时间同步?
  • 建网站权威公司dw怎么做打开网站跳出提示