JWT安全:假密鑰【簽名隨便寫實現越權繞過.】
JSON Web 令牌 (JWT)是一種在系統之間發送加密簽名 JSON 數據的標準化格式。理論上,它們可以包含任何類型的數據,但最常用于在身份驗證、會話處理和訪問控制機制中發送有關用戶的信息(“聲明”)。
與傳統會話令牌不同,服務器所需的所有數據都存儲在客戶端的 JWT 本身中。這使得 JWT 成為高度分布式網站的熱門選擇,因為用戶需要與多個后端服務器無縫交互。
目錄:
JWT安全:假密鑰【簽名隨便寫實現越權繞過.】
Burp Suite 插件的安裝.
實戰案例:簽名隨便寫可以繞過【實現越權】
1. 使用普通用戶進行登錄.
2. 查看一下算法簽名,嘗試一下能不能測試.
3.把正常請求的JWT數據放到里面,進行測試.
4. 偽造JWT數據簽名.
5. 復制新的JWT數據簽名,放到正常的請求中,進行修改 實現越權.
JWT 格式:頭【簽名的算法】.具體內容【修改字段】.簽名
漏洞的產生:開發為了省事,沒有按規定的去走,所以產生了漏洞.
理解:把cookie字段變成了這個JWT字段,用這個去驗證用戶身份.
(1)使用base64編碼進行錄進來的
(2)三個字段是使用用點 . 分隔
(3)字段最后面的簽名是用來驗證用戶信息的
Burp Suite 插件的安裝.
實戰案例:簽名隨便寫可以繞過【實現越權】
靶場鏈接:https://portswigger.net/web-security/jwt
1. 使用普通用戶進行登錄.
2. 查看一下算法簽名,嘗試一下能不能測試.
注意:下載一個無影工具,使用里面的JWT測試.
工具下載鏈接:https://github.com/TideSec/Tscanplus/releases
3.把正常請求的JWT數據放到里面,進行測試.
4. 偽造JWT數據簽名.
使用這個網站:JSON Web Tokens - jwt.io
5. 復制新的JWT數據簽名,放到正常的請求中,進行修改 實現越權.
? ?
? ?
? ?