1. 程式人生 > 其它 >越權漏洞(一)

越權漏洞(一)

本篇主要內容:越權漏洞之水平越權和垂直越權知識點+一個墨者靶場的例子+工具以及工具的使用。越權漏洞看似不起眼,但是資訊時代,使用者資訊很重要。所以也要重視這個越權漏洞

水平越權、垂直越權

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

水平越權:使用者擁有相同等級的許可權,但是通過更換某個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,如果是綠色的那麼存在越權漏洞

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

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