JWT安全:假密鑰.【簽名隨便寫實現越權繞過.】

JWT安全:假密鑰【簽名隨便寫實現越權繞過.】

JSON Web 令牌 (JWT)是一種在系統之間發送加密簽名 JSON 數據的標準化格式。理論上,它們可以包含任何類型的數據,但最常用于在身份驗證、會話處理和訪問控制機制中發送有關用戶的信息(“聲明”)。
與傳統會話令牌不同,服務器所需的所有數據都存儲在客戶端的 JWT 本身中。這使得 JWT 成為高度分布式網站的熱門選擇,因為用戶需要與多個后端服務器無縫交互。

目錄:

JWT安全:假密鑰【簽名隨便寫實現越權繞過.】

實戰案例:簽名隨便寫可以繞過【實現越權】

1. 使用普通用戶進行登錄.

2. 修改JWT數據中的簽名信息,實現越權.

(1)修改第一個地方,訪問管理員頁面.

(2)修改第二個地方進行測試.

(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數據和訪問頁面.


? ?

? ?

? ??

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/81685.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/81685.shtml
英文地址,請注明出處:http://en.pswp.cn/web/81685.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

# Python 語音助手本地的ollama實現

項目簡介 本項目是一個基于 Python 的智能語音助手,集成了語音錄制、語音識別、AI對話和語音合成功能。用戶可以通過語音與本地部署的 Ollama 大模型進行自然對話。 技術架構 核心功能模塊 語音錄制 - 使用 sounddevice 錄制用戶語音語音識別 - 使用 faster-whi…

第1章第1節:安全運維基礎思維與體系建設-安全運維的定義與核心目標

🎯 實戰目標: 理解“安全運維”與傳統運維的本質區別 掌握安全運維的核心目標與價值定位 建立以“持續可控、可視可審、自動響應”為核心的思維框架 📖 背景知識: ? 傳統運維 vs 安全運維 傳統運維關注:系統穩定、…

LNMP 架構部署

目錄 一、基于授權的訪問控制 (一)功能簡介 (二)配置步驟 二、基于客戶端的訪問控制 (一)功能簡介 (二)配置步驟 三、Nginx 虛擬主機 (一)基于域名的…

JVM與JMM深度解析:從Java 8到Java 21的演進

文章目錄 第一部分:JVM基礎概念與架構JVM是什么?JVM整體架構運行時數據區類加載機制執行引擎 第二部分:Java內存模型(JMM)什么是Java內存模型JMM的核心問題主內存與工作內存內存間交互操作重排序與happens-before原則v…

Docker 掛載卷并保存為容器

1 創建docker容器 使用鏡像osrf/ros:humble-desktop-full-jammy創建并運行容器 sudo docker run -it --name ros2_humble osrf/ros:humble-desktop-full-jammy /ros_entrypoint.sh bash docker run -it -v d:\docker\ros2_humble:/root/ros2_ws osrf/ros:humble-desktop-fu…

無人機飛手共享接單平臺

2025年,無人機已不再是“黑科技”的代名詞。從農田噴灑到外賣配送,從航拍攝影到醫療急救,無人機正以驚人的速度滲透我們的生活。而在這場變革中, “無人機飛手共享接單平臺” 成為連接技術與需求的核心樞紐。它不僅讓專業飛手輕松…

【Web應用】若依框架:基礎篇07功能詳解-定時任務

文章目錄 ?前言?一、講解過程?二、動手實操?總結 標題詳情作者JosieBook頭銜CSDN博客專家資格、阿里云社區專家博主、軟件設計工程師博客內容開源、框架、軟件工程、全棧(,NET/Java/Python/C)、數據庫、操作系統、大數據、人工智能、工控、網絡、程序…

8.8 Primary ODSA service without ODSA Portal

主要ODSA服務(不使用ODSA門戶) 以下場景描述如下情況: ? 主ODSA客戶端應用程序被允許用于該類型的主設備,且對終端用戶啟用(已授權)。 ? 服務提供商(SP)能夠在不涉及ODSA門戶Web服…

深度檢測與動態透明度控制 - 基于Babylon.js的遮擋檢測實現解析

首先貼出實現代碼: OcclusionFader.ts import { AbstractEngine, Material, type Behavior, type Mesh, type PBRMetallicRoughnessMaterial, type Scene } from "babylonjs/core"; import { OcclusionTester } from "../../OcclusionTester"…

openssl 使用生成key pem

好的,以下是完整的步驟,幫助你在 Windows 系統中使用 OpenSSL 生成私鑰(key)和 PEM 文件。假設你的 openssl.cnf 配置文件位于桌面。 步驟 1:打開命令提示符 按 Win R 鍵,打開“運行”對話框。輸入 cmd&…

音視頻之視頻壓縮及數字視頻基礎概念

系列文章: 1、音視頻之視頻壓縮技術及數字視頻綜述 一、視頻壓縮編碼技術綜述: 1、信息化與視頻通信: 什么是信息: 眾所周知,人類社會的三大支柱是物質、能量和信息。具體而言,農業現代化的支柱是物質&…

傳統數據表設計與Prompt驅動設計的范式對比:以NBA投籃數據表為例

引言:數據表設計方法的演進 在數據庫設計領域,傳統的數據表設計方法與新興的Prompt驅動設計方法代表了兩種截然不同的思維方式。本文將以NBA賽季投籃數據表(shots)的設計為例,深入探討這兩種方法的差異、優劣及適用場景。隨著AI技術在數據領…

XCTF-web-mfw

發現了git 使用GitHack下載一下源文件&#xff0c;找到了php源代碼 <?phpif (isset($_GET[page])) {$page $_GET[page]; } else {$page "home"; }$file "templates/" . $page . ".php";// I heard .. is dangerous! assert("strpos…

Prompt Tuning與自然語言微調對比解析

Prompt Tuning 與輸入提示詞自然語言微調的區別和聯系 一、核心定義與區別 維度Prompt Tuning(提示微調)輸入提示詞自然語言微調本質優化連續向量空間中的提示嵌入(不可直接閱讀)優化離散自然語言文本(人類可理解)操作對象模型輸入嵌入層的連續向量(如WordEmbedding)自…

LVS的DR模式部署

目錄 一、引言&#xff1a;高并發場景下的流量調度方案 二、LVS-DR 集群核心原理與架構設計 &#xff08;一&#xff09;工作原理與數據流向 數據包流向步驟3&#xff1a; &#xff08;二&#xff09;模式特性與53網絡要求 三、實戰配置&#xff1a;從9環境搭建到參數調整…

8種常見數據結構及其特點簡介

一、8種常見數據結構 1. 數組&#xff08;Array&#xff09; 簡介&#xff1a;數組是有序元素的序列&#xff0c;連續內存塊存儲相同類型元素&#xff0c;通過下標直接訪問。數組會為存儲的元素都分配一個下標&#xff08;索引&#xff09;&#xff0c;此下標是一個自增連續的…

通過mailto:實現web/html郵件模板喚起新建郵件并填寫內容

一、背景 在實現網站、html郵件模板過程中&#xff0c;難免會遇到需要通過郵箱向服務提供方發起技術支持等需求&#xff0c;因此&#xff0c;我們需要通過一個功能&#xff0c;能新建郵件并提供模板&#xff0c;提高溝通效率 二、mailto協議配置說明 參數描述mailto:nameema…

好用但不常用的Git配置

參考文章 文章目錄 tag標簽分支新倉庫默認分支推送 代碼合并沖突處理默認diff算法 tag標簽 默認是以字母順序排序&#xff0c;這會導致一些問題&#xff0c;比如0.5.101排在0.5.1000之后。為了解決這個問題&#xff0c;我們可以把默認排序改為數值排序 git config --global t…

第六十八篇 從“超市收銀系統崩潰”看JVM性能監控與故障定位實戰

目錄 引言&#xff1a;當技術問題遇上生活場景一、JVM的“超市貨架管理哲學”二、收銀員工具箱&#xff1a;JVM監控三板斧三、典型故障診斷實錄四、防患于未然的運維智慧五、結語&#xff1a;從故障救火到體系化防控 引言&#xff1a;當技術問題遇上生活場景 想象一個周末的傍…

tauri2項目打開某個文件夾,類似于mac系統中的 open ./

在 Tauri 2 項目中打開文件夾 在 Tauri 2 項目中&#xff0c;你可以使用以下幾種方法來打開文件夾&#xff0c;類似于 macOS 中的 open ./ 命令功能&#xff1a; 方法一&#xff1a;使用 shell 命令 use tauri::Manager;#[tauri::command] async fn open_folder(path: Strin…