網安-JWT

認證的方式:

session+cookie、jwt、token

Session認證機制

需要配合Cookie才能實現。由于 Cookie默認不支持跨域訪問 ,所以,當涉及到前端跨域請求后端接口的時候,需要做 很多額外的配置,才能實現跨域Session認證。

JWT(英文全稱:JSON Web Token)

是一個開放標準(RFC 7519),用于在雙方之間安全地表示聲明。一種無狀態的認證機制,通常用于授權和信息交換。是目前最流行的跨域認證解決方案。

authlab-Leaky JWT

Header:

eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.

Payload:

eyJsZXZlbCI6ImFkbWluIiwicGFzc3dvcmQiOiIyYWM5Y2I3ZGMwMmIzYzAwODNlYjcwODk4ZTU0OWI2MyIsInVzZXJuYW1lIjoiam9lIn0.

Signature:

6j3NrK-0C7K8gmaWeB9CCyZuQKfvVEAl4KhitRN2p5k?

解密后,得到賬號和MD5加密的密碼:

?解密得,為Password1?

從安全性的角度來看,至少存在兩個潛在的問題。

1.缺乏機密性-我們能夠輕松解碼有效載荷payload(和報頭header)。
2.用戶插入另一個操作(例如刪除)并繞過授權?,Signature可以設為none。

具體實現方式

1.算法為none
2.算法修改
3.簽名失敗問題
4.暴力破解
5.密鑰泄露
6.令牌刷新

攻擊思路

首先找到需要JWT鑒權后才能訪問的頁面,如個人資料頁面,將該請求包重放測試:

1.未授權訪問:刪除Token后仍然可以正常響應對應頁面
2.敏感信息泄露:通過JWt.io解密出Payload后查看其中是否包含敏感信息,如弱加密的密碼等
3.破解密鑰+越權訪問:通過JWT.io解密出Payload部分內容,通過空加密算法或密鑰爆破等方式實現重新簽發Token并修改Payload部分內容,重放請求包,觀察響應包是否能夠越權查看其他用戶資料
4.檢查Token時效性:解密查看payload中是否有exp字段鍵值對(Token過期時間),等待過期時間后再次使用該Token發送請求,若正常響應則存在Token不過期
5.通過頁面回顯進行探測:如修改Payload中鍵值對后頁面報錯信息是否存在注入,payload中kid字段的目錄遍歷問題與sql注入問題

authlab-JWT None Algorithm

看到一個存在的用戶成功登錄

抓包修改header中alog值為none,嘗試用不存在的用戶登錄

成功訪問,實現越權訪問

ctfhub

弱密鑰

嘗試用admin和admin登錄,得到token

?alg設為none,role中guest換成管理員admin

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

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

相關文章

零基礎學編程,編程從入門到精通系列教程,附:編程工具箱之時間計算構件的用法#零基礎自學編程 學習計劃#新手學編程 高效學習方法

前言: 對于正在學習編程的大學生、IT 人士或是編程愛好者而言,掌握正確的學習方法能讓編程學習事半功倍。即便你是初學者,只要通過成百上千個實例練習,也能快速成長為編程高手。 全中文編程工具 易上手的基礎特性 安裝過程簡單且…

Day01_C++編程

01.思維導圖02.方法一&#xff1a;#include <iostream> #include <cstring> #include <iostream> using namespace std; class mystring { private:char* buf;int len;public:mystring(const char* str);void copy(const char* ptr);void copy(mystring ptr)…

lammps滾動模擬

大家好,我是小馬老師。 本文介紹lammps中模型滾動的設置方法。 模型的滾動需要解決2個問題: (1)設置滾動旋轉軸位置和方向,也就是確定沿哪個方向滾動。 (2)原地滾動還是在滾動過程中整體也要移動。 為保證滾動的平穩,旋轉軸一般通過模型的質心,需要先計算模型的質…

增強LLM最后隱藏層的意義與效果

LLM 置信度增強:是否可以增強最后的隱藏層(非logits層) 表征工程是提取隱藏層狀態表征,LLM的置信度增強是優化的logist數值 要回答“是否可以增強最后的隱藏層(非logits層)以及是否有意義”,需要結合大語言模型的結構特性、你當前的任務(情感分析)以及“隱藏層增強”…

根據數據判斷神經網絡所需最小參數量

更新中方法目標&#xff1a;找到能充分學習數據規律&#xff0c;但不過度擬合噪聲的最小參數量。增量策略&#xff1a;優先增加深度&#xff08;層數&#xff09;&#xff1a;添加1個隱藏層&#xff08;如16神經元&#xff09;→ 訓練驗證再增加寬度&#xff08;神經元&#xf…

基于APEX系統自動曝光數學原理

目錄 一、APEX系統 二、自動曝光概述 三、曝光估計及校正算法的實現 一、APEX系統 在美國國家標準中,將(4.22)式所表示的基本參數方程進行了變換,將他表示為以2 為底的指數形式,這樣就可以用加法的形式來表達曝光參數方程式,稱為加法系統,即 APEX(Additive System of Ph…

JAVA后端面試筆記

1.JAVA中和equals的區別 區別&#xff1a;一個是運算符&#xff0c;一個是方法 比較變量的值是否相同 ①如果比較的對象是基本數據類型&#xff0c;則比較數值是否相等 ②如果比較的是引用數據類型&#xff0c;則比較的是對象的內存地址是否相等 equals方法比較對象的內容是否…

在 Ubuntu 上將 Docker 降級到版本 25.0.5 (二) 降低版本,涉及兼容性問題

以下有免費的4090云主機提供ubuntu22.04系統的其他入門實踐操作 地址&#xff1a;星宇科技 | GPU服務器 高性能云主機 云服務器-登錄 相關兌換碼星宇社區---4090算力卡免費體驗、共享開發社區-CSDN博客 兌換碼要是過期了&#xff0c;可以私信我獲取最新兌換碼&#xff01;&a…

什么是MySQL 視圖

文章目錄什么是MySQL 視圖定義為什么使用視圖創建/替換視圖更新視圖總結什么是MySQL 視圖 定義 視圖是一種虛擬表&#xff0c;是一個邏輯表&#xff0c;本身并不包含數據&#xff0c;通過select語句去基本表上動態生成數據。 舉個例子&#xff1a; 你有一個員工表employees…

Neo4j 5.x版本的導出與導入數據庫

neo4j的版本管理真的是災難級別的&#xff0c;文檔也亂&#xff0c;特定版本也難下&#xff0c;不同版本之間的命令存在很大差異&#xff0c;網上的很多資料都是Neo4j 4.x的&#xff0c;在此給出我自己試出來的5.x的導入導出方法使用前先關閉neo4j服務進入到neo4j安裝目錄的bin…

Java——深入解析 CGlib 與 JDK 動態代理:原理、區別與實踐

在 Java 開發中&#xff0c;動態代理是實現 AOP&#xff08;面向切面編程&#xff09;的核心技術&#xff0c;廣泛應用于日志記錄、事務管理、權限控制等場景。其中&#xff0c;JDK 動態代理和 CGlib 是兩種最常用的動態代理實現方式。本文將從原理、區別、使用場景等方面深入解…

變頻器帶動電機:全方位解析參數變化

在現代工業自動化領域&#xff0c;變頻器作為電機調速的核心設備&#xff0c;扮演著至關重要的角色。它能夠精準地控制電機的運行狀態&#xff0c;通過改變電源頻率和電壓&#xff0c;實現電機轉速、轉矩、功率等參數的靈活調整。本文將深入探討變頻器帶動電機時&#xff0c;各…

OpenCV 入門知識:圖片展示、攝像頭捕獲、控制鼠標及其 Trackbar(滑動條)生成!

&#x1f636;?&#x1f32b;?&#x1f636;?&#x1f32b;?&#x1f636;?&#x1f32b;?&#x1f636;?&#x1f32b;?Take your time ! &#x1f636;?&#x1f32b;?&#x1f636;?&#x1f32b;?&#x1f636;?&#x1f32b;?&#x1f636;?&#x1f32b;?…

Elasticsearch是什么?

Elasticsearch&#xff08;簡稱ES&#xff09;是一種基于Lucene的分布式搜索引擎&#xff0c;廣泛應用于大數據、日志分析、全文搜索等場景。它的核心是提供高效、可擴展的搜索和分析能力。ES 提供了強大的全文搜索、聚合分析、數據可視化等功能&#xff0c;可以用來快速地對海…

(Arxiv-2025)OmniGen2:通向先進多模態生成的探索

OmniGen2&#xff1a;通向先進多模態生成的探索 paper title&#xff1a;OmniGen2: Exploration to Advanced Multimodal Generation paper是BAAI發布在Arxiv 2025的工作 Code:鏈接 Abstract 在本研究中&#xff0c;我們提出了 OmniGen2&#xff0c;這是一種多功能、開源的生成…

期權到期會對大盤有什么影響?

本文主要介紹期權到期會對大盤有什么影響&#xff1f;期權到期對大盤的影響主要體現在以下幾個方面&#xff0c;但整體影響通常有限且短期&#xff0c;具體效果需結合市場環境、期權規模及行權價位置綜合判斷。期權到期會對大盤有什么影響&#xff1f;1. 市場流動性波動到期日效…

【LeetCode刷題指南】--隨機鏈表的復制

&#x1f525;個人主頁&#xff1a;草莓熊Lotso &#x1f3ac;作者簡介&#xff1a;C研發方向學習者 &#x1f4d6;個人專欄&#xff1a; 《C語言》 《數據結構與算法》《C語言刷題集》《Leetcode刷題指南》 ??人生格言&#xff1a;生活是默默的堅持&#xff0c;毅力是永久的…

系統學習算法:專題十四 鏈表

前提知識&#xff1a;1.畫圖&#xff0c;數據結構相關的題&#xff0c;畫圖必不可少&#xff0c;只要能畫出來&#xff0c;那么后面的代碼就很容易能寫出來&#xff0c;因為將抽象的數據結構轉換為直觀的圖畫2.引入虛擬頭結點&#xff0c;也叫哨兵位&#xff0c;能夠避免考慮很…

零基礎學后端-PHP語言(第一期-PHP環境配置)

從本期開始&#xff0c;我們學習PHP&#xff0c;但是我們要先配置PHP環境 PHP官網鏈接&#xff1a;PHP For Windows: Binaries and sources Releases 我們可以看到有以下資源 可以看到有很多php的版本&#xff0c;有Non Thread Safe和Thread Safe&#xff0c;還有zip&#xf…

C++ primer知識點總結

《C Primer》系統學習指南&#xff1a;從C到C的平滑過渡根據你提供的《C Primer》目錄和你的需求&#xff08;C語言背景轉C&#xff0c;側重網絡編程&#xff09;&#xff0c;我將為你制定一個全面的學習計劃&#xff0c;包含知識點詳解、C/C對比、實戰案例和分階段項目練習。第…