邏輯漏洞之越權漏洞


前言

上一篇文章中,對邏輯漏洞進行了簡單的描述,這篇文章簡單的說一說邏輯漏洞中的越權漏洞。

參考文獻《黑客攻防技術寶典Web實戰篇第二版》

什么是越權漏洞?

顧名思義,越權漏洞就是由於設計上的缺陷對應用程序的權限做的不好。通俗點來說,就是用戶A可以通過某種方式查看到用戶B的個人信息,或者可以查看管理員C的一些相關信息。

分類

越權漏洞主要分為水平越權和垂直越權。下面來說一說他們的區別。

水平越權:就是攻擊者嘗試訪問與他相同權限的用戶的一些資源。舉一個簡單的例子,用戶A在這個應用程序里保存了自己的個人信息,並且通過相關參數直接獲取,用戶B在保存個人信息的頁面,輸入了A用戶的參數,直接查看到了A用戶的個人信息。

為什么會出現這種情況呢?我們知道通常情況下,一個應用程序的功能流程是:登陸=>提交請求=>驗證權限=>數據庫查詢=>返回結果。如果權限驗證做的不好,就會出現越權。

都包括哪些情況呢?

比如直接對象引用,這種情況直接修改參數就可以發生越權,例如,我想查看A用戶的信息,直接將URL后的參數改為A用戶的就可以了。這里有一個實例,現在登陸張三用戶,抓包如下圖

 

現在將5改為2,然后發送數據包,我們發現用戶變為1了

 

 

 還有比如一個功能,多步實現,只在第一步驗證用戶身份,其他不用,這樣攻擊者直接跳過第一步,執行下面的操作。

還有如果對身份驗證做的不完善,有可能在未登錄的情況下,知道敏感頁面URL可以直接訪問。

垂直越權:也叫權限提升攻擊例如,用戶A通過構造URL直接進入了管理員B的頁面。

包括哪些情況呢?

比如設計者通過隱藏URL的方式,通過URL實現訪問控制,這是最不靠譜的,要是攻擊者猜出后台路徑,直接歇菜。

 

修復建議

對於水平越權:

  • 增加訪問與操作對象的用戶屬性,在對目標對象進行訪問與操作時,服務端校驗會話與對象的用戶屬性,在校驗通過后才能執行讀取和操作。                      
  • 頁面進行嚴格的訪問權限的控制以及對訪問角色進行權限檢查。

對於垂直越權:

  • 采取默認拒絕機制,采取基於角色訪問控制,對於各個功能的訪問,規定不同角色擁有不同的訪問權限,用戶訪問功能時,驗證用戶現在的權限和規定的權限是否相同,如果奴同,拒絕訪問。

《黑客攻防技術寶典Web實戰篇》對訪問控制進行了整理,我拍了下來分享出來,如下圖

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM