JWT安全:假密钥.【签名随便写实现越权绕过.】

JWT安全:假密钥【签名随便写实现越权绕过.】

JSON Web 令牌 (JWT)是一种在系统之间发送加密签名 JSON 数据的标准化格式。理论上,它们可以包含任何类型的数据,但最常用于在身份验证、会话处理和访问控制机制中发送有关用户的信息("声明")。
与传统会话令牌不同,服务器所需的所有数据都存储在客户端的 JWT 本身中。这使得 JWT 成为高度分布式网站的热门选择,因为用户需要与多个后端服务器无缝交互。

目录:

JWT安全:假密钥【签名随便写实现越权绕过.】

实战案例:签名随便写可以绕过【实现越权】

[1. 使用普通用户进行登录.](#1. 使用普通用户进行登录.)

[2. 修改JWT数据中的签名信息,实现越权.](#2. 修改JWT数据中的签名信息,实现越权.)

(1)修改第一个地方,访问管理员页面.

(2)修改第二个地方进行测试.

(3)测试完成之后修改一下这个,后面实战中用来替换.

[3. 实战中的应用测试.](#3. 实战中的应用测试.)

(1)把上面复制的JWT数据用来替换,正常申请的数据包.


JWT 格式:头【签名的算法】.具体内容【修改字段】.签名

漏洞的产生:开发为了省事,没有按规定的去走,所以产生了漏洞.


理解:把cookie字段变成了这个JWT字段,用这个去验证用户身份.

(1)使用base64编码进行录进来的

(2)三个字段是使用用点 . 分隔

(3)字段最后面的签名是用来验证用户信息的


Burp Suite 插件的安装.

实战案例:签名随便写可以绕过【实现越权】

靶场链接:https://portswigger.net/web-security/jwt


1. 使用普通用户进行登录.


2. 修改JWT数据中的签名信息,实现越权.【从普通用户改个管理员用户】

(1)修改第一个地方,访问管理员页面.【把这个修改为管理员的页面URL】

(2)修改第二个地方进行测试.【把普通用户直接修改为管理员用户】【administrator】

解释说明:如果可以直接登录成功,说明他不验证 JWT 中的签名,导致存在这个漏洞 实现越权。


(3)测试完成之后修改一下这个,后面实战中用来替换.

3. 实战中的应用测试.

(1)把上面复制的JWT数据用来替换,正常申请的数据包.【JWT数据是用户身份】

注意:替换全部包中的JWT数据和访问页面.


相关推荐
白帽子黑客罗哥8 分钟前
渗透测试技术:从入门到实战的完整指南
网络·安全·web安全·渗透测试·漏洞挖掘·网络安全培训
北邮刘老师16 分钟前
【智能体互联协议解析】ACPs/AIP为什么还在用“落后”的“中心化”架构?
网络·人工智能·架构·大模型·智能体·智能体互联网
winfield82120 分钟前
MCP 协议详解
开发语言·网络·qt
文刀竹肃21 分钟前
DVWA -XSS(DOM)-通关教程-完结
前端·安全·网络安全·xss
sdszoe492223 分钟前
IP地址规划与VLSM技术
网络·网络协议·tcp/ip·vlsm·ip地址规划
m0_569531011 小时前
《K8s 网络入门到进阶:Service 与 Ingress 原理、部署方案及核心区别对比》
网络·容器·kubernetes
广东大榕树信息科技有限公司1 小时前
当运维管理面临挑战时,如何借助动环监控系统提升响应能力?
运维·网络·物联网·国产动环监控系统·动环监控系统
wanhengidc1 小时前
巨 椰 云手机 满足多元需求
运维·服务器·安全·智能手机·云计算
QZ166560951592 小时前
高性能、可控、多架构:教育行业数据库风险监测一体化解决方案
安全·安全架构
狂奔的sherry2 小时前
WIFI后端功能问题解决
网络