IDOR 不安全的直接物件引用

2022-10-09 05:33:07 字數 1409 閱讀 5181

測試前: 先確認測試範圍(確定測試物件,需要dev協助)--再手動驗證-確認,最後確定是否需要優化

【驗證方法】通過修改用於直接指向物件的引數值直接訪問

【影響】可以繞過許可權,直接訪問系統的資源(但這些資源可以是屬於其他使用者的資料庫條目、系統中的檔案等等)

【原因】這是因為應用程式接受使用者提供的輸入並使用它檢索物件,而沒有執行足夠的授權檢查。

確認位置:需要繪製出應用程式中所有使用使用者輸入直接引用物件的位置

改引數:修改用於引用物件的引數的值,並評估是否可以檢索屬於其他使用者的物件或繞過授權。

通過多使用者的資料訪問許可權驗證:

建議用2

個使用者(或相同角色 猜測是否能訪問他人資料)(或不同角色 測試許可權控制)

測試直接物件引用的最佳方法是讓至少兩個(通常更多)使用者覆蓋不同擁有的物件和功能。例如,兩個使用者各自有權訪問不同的物件(如購買資訊、私人訊息等),以及(如果相關)具有不同許可權的使用者(如管理員使用者),以檢視是否存在對應用程式功能的直接引用。

通過擁有多個使用者,測試人員可以嘗試訪問屬於其他使用者的物件,從而在猜測不同物件名稱時節省寶貴的測試時間

已知:2

個使用者資料,例如有2個

policyid

,然後檢查是否可以在未經授權的情況下訪問物件。

已知:2

個使用者username

,修改使用者密碼(不要求當前密碼)

在許多情況下,此步驟將是嚮導或多步驟操作的一部分。在第一步中,應用程式將收到乙個請求,說明要更改哪個使用者的密碼,在下一步中,使用者將提供乙個新密碼(不要求當前密碼)

使用者引數用於直接引用將為其執行密碼更改操作的使用者的物件。

測試方法:

修改user

為非當前登陸的使用者名稱,

檢查是否可以修改另乙個使用者的密碼

測試方法:是否能夠檢索屬於其他使用者的物件()。

為了測試這種情況,測試人員應該準備乙個當前使用者不應該能夠訪問的引用物件,並嘗試使用它作為檔案引數的值來訪問它。注意:此漏洞通常與目錄

/路徑遍歷漏洞一起被利用(請參閱路徑遍歷測試)

已知選單訪問對應id:

1、2、

3……,

測試方法:假設使用者受到限制,只有訪問選單項1、

2和3的鏈結可用。通過修改

menuitem

引數的值,是否可以繞過授權並訪問其他應用程式功能

參照:

不安全的直接物件引用

一般 開發人員的學習大體路子應該是 開發動態 一般情況下都會涉及到使用者 許可權這些安全層面的東西,如何確保自己的 是乙個相對安全的 呢?是否覺得自己做的 好像沒有什麼漏洞,因為demo啊,docs啊都沒有提及這方面,都是說應該怎麼做,但同時又總有些不放心,隱隱約約覺得怕出問題,只好盲目的以為框架會...

不安全的物件引用 垂直越權

該系統僅允許註冊社工賬號,此賬號許可權極低,無法檢視任何資訊,嘗試通過不安全的物件直接引用漏洞來獲取高許可權賬號。1.首先判斷出,社工與區管理員登入時使用者名稱識別的引數存在什麼不同 經抓包對比測試得知,社工賬戶和區管理員賬戶userinfobean.usertype的引數不同,社工賬戶 useri...

Servlet執行緒的不安全

servlet是j2ee是一部分 也是j2ee規範中處理http請求的部件 為什麼說servlet中線程是不安全的呢?在servlet中對於同乙個servlet物件的多個請求,servlet的service方法將在乙個多執行緒的環境中併發執行,所以,web容器預設採用單例模式多執行緒的方式來處理ht...