越權漏洞(一)


水平越權、垂直越權

這篇文章對邏輯越權中的水平越權和垂直越權進行一個總結,順帶加一個墨者靶場"身份認證失效漏洞實戰"的一個打靶記錄+工具的使用。正文如下:

水平越權:用戶擁有相同等級的權限,但是通過更換某個ID之類可以使同級用戶a獲取(修改,刪除)同級用戶b的數據

垂直越權:使用低身份的賬號,發送高權限才有的請求,獲得更高權限的操作。

無授權訪問:通過刪除請求中的認證信息后重新發送該請求,依舊可以訪問或者完成操作。

 

圖片來源:https://blog.csdn.net/weixin_45441315

漏洞原理:后台使用了不合理的校驗規則,只驗證了能訪問數據的角色,沒有對數據進行細分。前端安全造成,判斷用戶等級后,代碼界面部分進行可選顯示。只是不顯示管理員訪問的界面,但是仍然存在。后台安全造成,將用戶信息和管理員信息放到了同一張表中,通過usertype進行管理員和用戶判斷。如1為管理員,2為用戶。用戶在訪問的時候進行抓包將2修改為1,則可以獲得管理員權限。

限制條件:水平越權想要越到別的同等級的賬號,必須得有同等級用戶的賬號或者id,這是在信息收集的時候要做好的工作。

垂直越權如果低權限用戶想要添加一個用戶,首先得獲取到添加用戶的數據包。獲取途徑:普通用戶前端有操作界面可以抓取數據包、通過網站源碼本地搭建、忙猜。限制條件有點多。

防護:有了原理,那么我們就可以根據原理進行防護。

1>前后端同時對用戶輸入信息進行驗證

2>調用功能前驗證用戶是否有權限進行驗證

3>執行關鍵操作前必須驗證用戶身份,驗證用戶是否具備操作數據權限。

4>直接對象引用加密資源ID,防止攻擊者枚舉ID,敏感數據特殊化處理。

5>對可控參數進行嚴格的檢查和過濾

信息時代,個人信息很重要,所以關於用戶信息泄露公司是會很重視的。接下來進行墨者靶場的一個簡單記錄。可以更深入的了解越權漏洞。

目標:通過已知用戶test,獲取到馬某的個人信息。

1.登錄test用戶,進行抓包

 2.我們看到這個數據包,第一反應是修改uid,將其改為馬某的賬號,但是我們不知道馬某的賬號,所以看下一個數據包,點擊forward發送出去,看下一個數據包

 

3. 看到這個我們也可以想到修改card_id,將后面的22隨便改一個,看看是否可以查看到同級用戶的信息

 4.當改為23的時候,我們發現跳轉到另一個同級用戶的信息。

  這時候我們就可以用00到99進行批量的測試

  打開抓包工具,將抓取的含有card_id數據包發送到intruder(右擊就可以看到)

 

 

 然后點擊清除,然后選中11,進行添加,最后再點擊payloads

 然后這樣設置,從00到99,最后點擊上面的intruder,點start開始。

通過抓到的數據包,我們可以查看,有數據的長度比較長,所以點長度哪里進行從長到短排序。我們在一個一個進行查看

5. 看這個user是馬開頭的,我們就猜想,這個就可能是馬某,然后我們進行驗證,將我們測試賬號的數據包中的card_id修改為馬某的

   其實用戶不多,我們可以一個一個的查看,一個一個進行測試。但是放到實戰中可能工作量很大,我們可以看登錄頁面有馬某的頭像,我們點擊,右擊產看源代碼,發現正是馬某的id

6.我們發現key沒有出來,因為這還要我們進行對馬某賬號的登錄,但是如果只是獲取馬某信息,我們已經成功了。

然后我們對馬某數據包的"password":"71cc568f1ed55738788751222fb6d8d9"進行md5解密(md5在線解密工具),這個就是馬某的密碼,有了賬號密碼,自然也就登錄上去了。解密是:9732343

7.最后我們進行登錄就可以得到馬某的全部信息以及key。

 

 

最后在說一下檢測漏洞的工具,

 

按箭頭所指方向進行安裝,點擊就install進行安裝。

使用:以墨者靶場為例,在我們完成第四步的操作時將所有的數據包發送到authz中。

 

 

 

 

上面的cookie設置成測試用戶test的。然后選中所有數據包,右擊run,如果是綠色的那么存在越權漏洞

我們發現全部存在越權漏洞。

 

 

 以上就是越權漏洞和水平漏洞的知識點。多練、多看、多總結。願你的技術更上一層樓。

歡迎大家關注微信公眾號:小艾搞安全


免責聲明!

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



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