JWT攻防实战:混淆、破解与红队利用技术详解

news/2025/9/27 8:03:47/文章来源:https://www.cnblogs.com/qife122/p/19114704

JWT攻防实战:混淆、破解与红队利用技术

破解、篡改、利用——JWT不仅是令牌,更是红队的游乐场。

什么是JWT?

JWT(JSON Web Token)是一种紧凑的URL安全方法,用于在双方之间传递声明信息,主要用于无状态认证。JWT通常通过Cookie、HTTP头部或本地存储传递。

JWT包含3个Base64编码部分:

<头部>.<载荷>.<签名>

示例:

eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VybmFtZSI6ImFlbm9zaCIsInJvbGUiOiJhZG1pbiJ9.wBwbm_z1gdu9OtUsAoOhPtUp9dJYWpA7U2oPeM4osbQj

结构解析:

  • 头部:指定算法(如HS256)
  • 载荷:包含用户名、角色等声明
  • 签名:确保头部和载荷的完整性

JWT常用于API认证和会话管理。服务器在登录后颁发令牌,客户端在后续请求中携带该令牌。

JWT混淆技术

虽然JWT可通过Base64解码阅读,但攻击者或开发人员可能通过混淆增加复杂性或安全性。

混淆目的:

  • 绕过安全控制
  • 隐藏内部声明(如role=admin)
  • 防止简单检查

常用混淆手法:

# Base64解码示例(仅适用于头部/载荷)
echo '<base64>' | base64 -d# 使用JWT工具包
python jwt_tool.py <token> -d

JWT破解技术

根据实现方式的不同,存在多种JWT破解方法。

HMAC密钥暴力破解(HS256)

当JWT使用弱密钥签名时:

python jwt_tool.py <token> -C -S <字典文件>

常见弱密钥:

  • admin
  • password123
  • jwtsecret

仅适用于对称算法(HS256)且密钥可猜测的情况。

算法混淆攻击:RS256转HS256

如果JWT使用RS256(非对称)签名,但服务器未正确验证算法,可将其改为HS256并用公钥签名:

python jwt_tool.py <token> -X -pk public.pem -A HS256

public.pem文件通常以PEM格式存储公钥。CVE-2018-0114使此攻击广为人知。

none算法攻击

早期JWT库允许使用{"alg":"none"},并完全忽略签名。如果服务器接受此类令牌:

python jwt_tool.py <token> -S none

移除签名后重放令牌,即可实现"登录"。

声明伪造

手动修改载荷为"admin": true,并用破解的密钥重新签名:

python jwt_tool.py <token> -E -pc 'cracked_secret' -A HS256

JWT提取与利用挑战

Cookie存储场景:

  • HTTP请求中难以直接查看
  • 需要BurpSuite拦截提取
  • 脚本需具备Cookie容器感知能力
curl -b "auth=<jwt>" http://target.com/dashboard

本地存储场景:

  • 需要XSS从浏览器窃取
  • 无法通过纯服务端枚举访问

强签名防护:

  • RS256配合密钥轮换
  • HMAC密钥无法破解

短期有效性:

  • 短有效期限制重放攻击
  • 需在有效期内拦截令牌

真实靶场实践

TryHackMe: JWT实验舱

  • 教授none算法攻击、弱密钥破解
  • 修改载荷提升权限
  • 推荐使用BurpSuite的JWT编辑器扩展

HTB: "JWT密钥"挑战

  • 在JavaScript中查找泄露的密钥
  • 修改令牌劫持管理员会话

自建实验环境

  • 使用Node.js的jsonwebtoken库
  • 设置弱密钥测试none算法绕过

防御措施:如何真正保护JWT

始终使用可信库在服务端验证令牌。

快速参考手册

# 解码JWT各部分
jwt_tool.py <token> -d# 破解密钥
jwt_tool.py <token> -C -S rockyou.txt# 尝试none算法
jwt_tool.py <token> -S none# 修改并重新签名
jwt_tool.py <token> -E -pc 'secret' -A HS256

本文原载于 https://aenosh-rajora.gitbook.io,2025年9月13日发布
更多精彩内容 请关注我的个人公众号 公众号(办公AI智能小助手)
对网络安全、黑客技术感兴趣的朋友可以关注我的安全公众号(网络安全技术点滴分享)

公众号二维码

公众号二维码

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/919208.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

“中国英伟达”投资人,赚翻了

微信视频号:sph0RgSyDYV47z6快手号:4874645212抖音号:dy0so323fq2w小红书号:95619019828B站1:UID:3546863642871878B站2:UID: 3546955410049087还未上市,摩尔线程的朋友圈却已经赚翻了。 在这家国产GPU公司要上…

网站标签怎么设置雏光 网络推广 网站建设

目录 总结一、步骤前端1.第一步-编写tabs的modelBody2.第二步编辑表扩展js 后端--重写表的add和Update方法1.第一步 总结 编写tabs的modelBody后编辑表扩展js在重写后端partial的Service 一、步骤 前端 1.第一步-编写tabs的modelBody 复制下面代码该改的改 <template&…

云主机怎么做网站厦门网站推广费用

及时雨宋江及时的不是雨&#xff0c;而是银子。 年轻的时候&#xff0c;以为聚义厅聚的是义&#xff0c;中年以后才看明白&#xff0c;聚义厅聚的是利。 利益是纽带&#xff0c;是动力。 懂得从他人利益的角度出发&#xff0c;我们才能调动更多的人和资源&#xff0c;成就一…

单位网站的方案wordpress示例页面在哪删除

优先级队列&#xff08;Priority Queue&#xff09;是一种特殊的队列类型&#xff0c;它允许在其元素中分配优先级。与传统的先进先出&#xff08;FIFO&#xff09;队列不同&#xff0c;优先级队列中元素的出队顺序取决于它们的优先级。优先级较高的元素会被优先处理&#xff0…

The 3rd UCUP Stage 29: Metropolis(QOJ contest 1913) 总结

附:出题组题解(繁中)。 A(不可做) B 递归贪心地构造,若当前点有未走的相邻点,且没有 \(p_{i+1}\),那么当前点就要连 \(p_{i+1}\),递归 \(p_{i+1}\)。否则我们可以先回溯。 C 发现其中有一个人每次都只能选偶数…

推进门户网站建设工作会议河北建设厅网站首页

【PC电脑windows环境下-[jetson-orin-NX]Linux环境下-下载工具esptool工具使用-相关细节-简单样例-实际操作】 1、概述2、实验环境3、 物品说明4-2、自我总结5、本次实验说明1、准备样例2、设置芯片3、编译4、下载5、验证 &#xff08;1&#xff09;windows环境下进行烧写1、下…

空白金兰契的多维解构与实践路径:从价值表征困境到人机共生伦理

"空白金兰契"的多维解构与实践路径:从价值表征困境到人机共生伦理 一、价值表征困境的哲学反思 1.1 价值表征暴力的本质与根源 在人工智能伦理研究中,价值表征困境已成为一个核心难题。任何试图用固定规则…

山西建设机械网站首页硬件开发公司

一、问题场景 项目有个需求&#xff0c;在登录页面&#xff0c;输入好账号密码后&#xff0c;直接可以点击回车就能够登录&#xff0c;效果和点击登录按钮一样&#xff0c;登录页面源码如下 <template><body id"poster"><el-form class"login-…

做网站的工作有发展空间没有安全工程师

什么是事务&#xff1f; 我们在开发企业应用时&#xff0c;对于业务人员的一个操作实际是对数据读写的多步操作的结合。由于数据操作在顺序执行的过程中&#xff0c;任何一步操作都有可能发生异常&#xff0c;异常会导致后续操作无法完成&#xff0c;此时由于业务逻辑并未正确…

缩短链接网站微信小程序广告收益

转载于:https://www.cnblogs.com/jcfxl/p/5739741.html

2025中国制造企业500强榜单发布

微信视频号:sph0RgSyDYV47z6快手号:4874645212抖音号:dy0so323fq2w小红书号:95619019828B站1:UID:3546863642871878B站2:UID: 35469554100490872025中国制造业企业500强入围门槛再次提升,达到173.65亿元,较上年…

网站设置访问密码网站建设的基本元素

分类规范内容内外架安全1、扫地杆离地0.2米&#xff0c;立杆间距1.5米&#xff0c;外大横杆上下间距1米&#xff0c;内大横杆上下间距1.8米&#xff0c;步距1.8米2、立杆着落点不得悬空&#xff0c;垫块面积&#xff1e;240240mm3、外架和支模架不得连接、固定在一起4、外架操作…

上海做网站内容检查的公司网站开发进度计划书

Excel使用过程中经常需要将一个表格内容复制粘贴到其他表格中去。如果原始表格设置了行高和列宽&#xff0c;选中要复制的区域复制后&#xff0c;当在其他表格选择一个单元格进行粘贴时&#xff0c;行高和列宽就都变了。下面介绍excel表格复制粘贴后格式不变的操作方法。excel表…

读 WPF 源代码 了解获取 GlyphTypeface 的 CharacterToGlyphMap 的数量耗时原因

在我的一次应用性能分析中,我发现了尝试获取 GlyphTypeface 的 CharacterToGlyphMap 属性的数量时,存在很大的耗时。经过阅读 WPF 源代码,我了解到了其中的原因,本文将和大家从底层源代码分析原因和给出解决方法在…

张江,首个万亿市值巨头诞生!

微信视频号:sph0RgSyDYV47z6快手号:4874645212抖音号:dy0so323fq2w小红书号:95619019828B站1:UID:3546863642871878B站2:UID: 35469554100490879月18日,中芯国际股价盘中一度暴涨超8%,股价冲高至127.49元,总市…

怎样建设自己的网站的视频全景精灵网站建设

地上有一个m行n列的方格&#xff0c;从坐标 [0,0] 到坐标 [m-1,n-1] 。一个机器人从坐标 [0, 0] 的格子开始移动&#xff0c;它每次可以向左、右、上、下移动一格&#xff08;不能移动到方格外&#xff09;&#xff0c;也不能进入行坐标和列坐标的数位之和大于k的格子。例如&am…

wordpress制作图片站做网站视频赚钱吗

一文解读ISO26262安全标准&#xff1a;概念阶段 1 相关项定义2 安全生命周期启动3 危害分析和风险评估 HaRa4 功能安全概念 由上一篇文章知道&#xff0c;安全生命周期包含概念阶段、产品开发阶段、生产发布后续阶段。本文详细解读概念阶段要进行的安全活动。 本部分规定了车辆…

Java 与智慧交通:车联网与自动驾驶支持

一、引言 随着城市化进程加快和出行需求的多样化,交通运输系统正面临 拥堵、事故率高、能耗大、排放重 等问题。智慧交通作为智慧城市的重要组成部分,旨在利用 物联网(IoT)、大数据、人工智能(AI)、车联网(V2X)…

鸣蝉网站建设公司上海建设工程招投标在什么网站

华为认证数通高级工程师HCIP-Datacom-Campus Network Planning and Deployment V1.5&#xff08;中文版&#xff09;自2023年9月28日起&#xff0c;正式在中国区发布。 01 发布概述 基于“平台生态”战略&#xff0c;围绕“云-管-端”协同的新ICT技术架构&#xff0c;华为公司…

湖北黄石市黄石市建设材料价格信息在哪个网站查询设计师接私单网站

1 对象属性 length 返回字符串的长度 2 对象方法 charAt() 返回在指定位置的字符 charCodeAt() 返回在指定的位置的字符的 Unicode 编码 concat 连接两个或更多的字符串 indexOf 返回某个指定的字符串值在字符串中首次出现的位置 lastIndexOf 从后向前搜索字符串&…