Over Permission
越權風險問題
越權訪問(Broken Access Control,簡稱BAC)是Web應用程式中一種常見的漏洞
越權訪問漏洞的產生
比如,某個訂單系統,用戶可以查詢自己的訂單資訊,A用戶查詢訂單時,發送的HTTP請求中包含引數“orderid=A”,訂單系統取得orderid后最侄訓查詢資料庫,查詢陳述句類似于“select * from tablename where orderid = A”,B用戶查詢訂單時,發送的HTTP請求中包含引數“orderid=B”,系統查詢資料庫陳述句類似于“select * from tablename where orderid = B”,正常情況下,每個用戶只會查詢到自己的訂單,但是,當B用戶將自己的HTTP請求引數修改為“orderid=A”,那么最終B用戶執行的資料庫陳述句變成了“select * from tablename whereorderid = A”,導致A的訂單資訊被B用戶獲取到了,
概述
如果使用A用戶的權限去操作B用戶的資料,A的權限小于B的權限,如果能夠成功操作,則稱之為越權操作, 越權漏洞形成的原因是后臺使用了不合理的權限校驗規則導致的,一般越權漏洞容易出現在權限頁面(需要登錄的頁面)增、刪、改、查的的地方,當用戶對權限頁面內的資訊進行這些操作時,后臺需要對當前用戶的權限進行校驗,看其是否具備操作的權限,從而給出回應,而如果校驗的規則過于簡單則容易出現越權漏洞,
因此,在在權限管理中應該遵守:
1.使用最小權限原則對用戶進行賦權;
2.使用合理(嚴格)的權限校驗規則;
3.使用后臺登錄態作為條件進行權限判斷,別動不動就瞎用前端傳進來的條件;
漏洞產生條件
越權漏洞高于邏輯漏洞(邏輯漏洞就是指攻擊者利用業務的設計缺陷,獲取敏感資訊或破壞業務的完整性,一般出現在密碼修改、越權訪問、密碼找回、交易支付金額用戶登錄等功能),是由于權限校驗的邏輯不夠嚴謹導致的,每個應用系統其用戶對應的權限是根據其用戶功能劃分的,而每個企業的業務又都是不一樣的,因此越權漏洞很難通過掃描工具發現出來,往往需要手動進行測驗,
水平越權(平行越權)
概述
A用戶和B用戶屬于同一級別用戶,但各自不能操作對方個人資訊,A用戶如果越權操作B用戶的個人資訊的情況稱為平行越權操作,

方法
在當前已登陸的lucy的個人資訊頁面,修改url里面的username,改為lili的用戶名,如果可以登陸成功查看lili的資訊,說明這是一種越權行為,我們需要在源代碼中添加一段判斷的get請求是否來自于lucy即當前登錄的用戶的代碼,來拒絕越權的嘗試,

垂直越權
概述
權限較低的用戶去執行高權限用戶的操作,

方法
1.獲取普通用戶登錄態的cookie

2.用普通用戶的cookie來代替超級管理員創建新用戶的cookie,在burp頁面右鍵點擊發送到repeater,關閉代理,在超級管理員創建用戶的頁面點擊回到admin,在burp頁面點擊send,重繪超級管理員的登陸頁面,即可操作成功,

用普通用戶的身份進行超級管理員的操作,如果操作成功,即可說明后臺存在垂直越權的漏洞,通過burp抓包攔截超級管理員登陸的資料包,然后將其登錄態的cookie【指某些網站為了辨別用戶身份、進行 Session 跟蹤而存盤在用戶本地終端上的資料,而這些資料通常會經過加密處理】代替普通用戶登錄態中的資料包中的cookie,可以操作成功,即進行了一次垂直越權查看后臺原始碼可發現,原始碼中只有判斷超級管理員是否登錄的代碼,應該添加一段判斷當前用戶登陸的權限,判斷用戶級別是否為超級管理員的代碼,

修復建議
越權訪問漏洞產生的主要原因是因為沒有對用戶的身份做判斷和控制,防護這種漏洞是,可以使用session【當訪問服務器某個網頁的時候,會在服務器端的記憶體里開辟一塊記憶體,這塊記憶體就叫做`SESSION】來控制,例如用戶在登錄成功后, 將用戶名寫入session中,當用戶查看個人資訊時,通過session中取出username,而不是從GET或者POST中取到username,那么此時的username就不會被篡改了
練習
靶場練習題


方法:
- 網頁下方有登陸提示,系統測驗賬號用戶名為test,密碼為test;
- 點擊右鍵查看原始碼,點擊馬春生的照片,在網頁的url即可查看馬春生的id;
- 按F12打開 開發者工具,點擊網路;
- 登錄系統測驗賬號,查看網路一欄下面發起的請求;

- 點擊
json.php?card_id=......檔案,打開檔案,查看網頁url,將網頁的url中的id替換為馬春生的id,訪問頁面;

- 我們可以看見馬春生的用戶名為
m233241,密碼為MD5加密,解密后的密碼為9232343; MD5解密工具 - 輸入馬春生的用戶名和密碼,登陸成功即可得到key,

轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/272178.html
標籤:其他
