越權漏洞簡單分析

2021-10-01 10:49:16 字數 2187 閱讀 1279

越權漏洞是web應用程式中一種常見的安全漏洞。它的威脅在於乙個賬戶即可控制全站使用者資料。當然這些資料僅限於存在漏洞功能對應的資料。越權漏洞的成因主要是因為開發人員在對資料進行增、刪、改、查詢時對客戶端請求的資料過分相信而遺漏了許可權的判定。

主要分為水平越權和垂直越權,簡單了解一下這兩者的區別:

水平越權:指攻擊者嘗試訪問與他擁有相同許可權的使用者資源。例如有乙個寫作**,作者(a)登入後可以對自己的文章進行發布、檢視、刪除等操作。當刪除一篇文章時,傳送的請求 url 如下:

垂直越權:垂直越權可以分為兩種,分別是向上越權和向下越權。向上指乙個低級別攻擊者嘗試訪問高階別使用者的資源,向下指乙個高階別使用者嘗試訪問低級別使用者的資源。例如乙個使用者的個人資訊管理頁是 user.php,而管理員管理所有使用者資訊的頁面是 manageuser.php, 但管理頁面沒有相關的許可權驗證,導致任何人輸入管理頁面位址都可以訪問,則導致了垂直越權中的向上越權。向下越權相反。

通常情況下,乙個 web 程式功能流程是登入 - 提交請求 - 驗證許可權 - 資料庫查詢 - 返回結果。如果驗證許可權不足,便會導致越權。常見的程式都會認為通過登入後即可驗證使用者的身份,從而不會做下一步驗證,最後導致越權。

1,通過隱藏 url

實現控制訪問有些程式的管理員的管理頁面只有管理員才顯示,普通使用者看不到,利用 url 實現訪問控制,但 url 洩露或被惡意攻擊者猜到後,這會導致越權攻擊。

2,直接物件引用

這種通過修改一下引數就可以產生水平越權,例如檢視使用者資訊頁面 url 後加上自己的 id 便可檢視,當修改為他人的 id 號時會返回他人的資訊,便產生了水平越權。

3,多階段功能

多階段功能是乙個功能有多個階段的實現。例如修改密碼,可能第一步是驗證使用者身份資訊,號碼驗證碼類的。當驗證成功後,跳到第二步,輸入新密碼,很多程式會在這一步不再驗證使用者身份,導致惡意攻擊者抓包直接修改引數值,導致可修改任意使用者密碼。

4, 靜態檔案

5,平台配置錯誤

一些程式會通過控制項來限制使用者的訪問,例如後台位址,普通使用者不屬於管理員組,則不能訪問。但當配置平台或配置控制項錯誤時,就會出現越權訪問。

burpsuite+firefox

在與伺服器進行資料互動時客戶端攜帶著標識使用者的身份的cookie,當服務端的session與cookie中的身份匹配成功後,才能允許該使用者進行相關操作(cookie和session的關係-->一彈、二彈)。除了cookie之外,在請求中可能會帶一些引數,細覽下可能存在辨別資訊的唯一值,來進行測試。這裡要說一點,傳輸的引數並不一定在請求引數中,也有可能存在url鏈結的位置(get和post請求的區別)。當攔截乙個請求後分析是否有引數:

1、請求中不存在引數,只用cookie進行身份驗證,無法水平越權,可能出現垂直越權;

2、請求中存在引數,並且引數中的某些值可能是辨別資訊的唯一值(如employeeid、departmentid、id等),可能存在水平和垂直越權;越權的原因是引數中的employeeid沒有判斷是否是cookie中使用者所管轄的員工id。

對於滲透測試,可以對一些請求進行抓包操作,或者檢視請求的 url 位址,對於關鍵的引數修改下值檢視下返回結果來初步判定。隨後可以註冊兩個小號,相互輔助來確定是否存在越權。

常見的越權高發功能點有:根據訂單號查訂單、根據使用者 id 檢視帳戶資訊、修改 / 找回密碼等。

對於**審計,可以先檢視前端的網頁原始碼,檢視一些操作的表單提交的值。檢視配置檔案和一些過濾器,看是否對 url 有相關的篩選操作。最後檢視後台處理邏輯,是否存在身份驗證機制,邏輯是否異常,有時的邏輯漏洞也可導致越權操作。

一般測試時,可以註冊兩個小號測試,更方便,大概流程圖如下:

1,類似於這種請求,例如檢視使用者資訊等,不能只根據使用者 id 去搜尋,應該再次進行身份驗證。

2,可以從使用者的加密認證 cookie 中獲取當前使用者 id,防止攻擊者對其修改。或在 session、cookie 中加入不可**、不可猜解的 user 資訊。

3,在每個頁面載入前進行許可權認證。

4,特別敏感操作可以讓使用者再次輸入密碼或其他的驗證資訊。

越權訪問漏洞

一 平行越權 攻擊者請求操作 增刪改查 某條資料時,web應用程式沒有判斷該條資料的所屬人,或者在判斷資料所屬人時直接從使用者提交的表單引數中獲取,例如使用者id等,導致攻擊者可以自行修改引數,操作獲取不屬於自己的資料。測試方法 在傳送請求時觀察請求引數,嘗試修改使用者id或者其他引數驗證是否能檢視...

漏洞之越權

如果使用a使用者的許可權去操作b使用者的資料,a的許可權小於b的許可權,如果能夠成功操作,則稱之為越權操作。越權漏洞形成的原因是後台使用了 不合理的許可權校驗規則導致的。一般越權漏洞容易出現在許可權頁面 需要登入的頁面 增 刪 改 查的的地方,當使用者對許可權頁面內的資訊進行這些操作時,後台需要對 ...

pikachu 越權漏洞

第八章 越權漏洞 1.越權漏洞原理及水平越權案例演示 一般出現在登入態的頁面上 場景演示 提交了乙個get請求,把當前登入人的使用者名稱傳到了後台,後台把對應資訊顯示出來。我們嘗試改乙個名字 顯示出來 當前登入的人是lucy,但是在 lucy 的登陸狀態下能看到其他人的資訊。檢視一下後台 通過get...