越權漏洞(IDOR)筆記


 

越權漏洞 IDOR 全稱為 Insecure Direct Object Reference 不安全的直接對象參考

什么是IDOR漏洞?

應用程序中可以有許多變量,例如“ id”,“ pid”,“ uid”。盡管這些值通常被視為HTTP參數,但可以在標頭和cookie中找到它們。

攻擊者可以通過更改值來訪問,編輯或刪除任何其他用戶的對象。此漏洞稱為IDOR。

首先,它需要了解軟件開發人員開發的應用程序流程。當登錄用戶進入Web /移動應用程序時,需要了解所有模塊功能及其子模塊功能。

同樣重要的是要記住,此漏洞在安全測試中與XSS,CSRF一樣嚴重,並且是一種不容易發現的漏洞(自動測試或手動測試)。

下圖顯示了用戶和服務器之間的IDOR漏洞。

IDOR漏洞的影響

Bugcrowd VRT中的IDOR漏洞似乎是“依賴影響的變量 ”,因為它們的影響完全取決於您提交的錯誤。

但是我們根據我們的經驗創建了一個有關IDOR漏洞影響的列表,如下所示。

P1 –帳戶接管,訪問非常重要的數據(例如信用卡)

P2 –更改/刪除其他用戶的公共數據,訪問私人/公共重要數據(例如票證,發票,付款信息)

P3 –訪問/刪除/更改私人數據(有限的個人信息:姓名,地址等)

P4 –訪問任何不重要的數據

IDOR漏洞的影響取決於項目經理的判斷力。

 

用於輔助測試越權漏洞的工具:

Burpsuite的三款插件可用於輔助尋找越權漏洞。

  • Autorize
  • Authz(水平越權測試)
  • AuthMatrix(垂直越權測試)

Authz插件可以查看其他用戶的請求響應。因此,我們可以將X用戶的請求發送到Authz並嘗試以Y用戶身份訪問它的響應。

另外,我們可以為測試IDOR漏洞添加自定義標頭,例如“ X-CSRF-Token”。

AuthMatrix插件允許通過注冊應用程序中角色的cookie值或標頭值來執行授權檢查。

如果有API請求,則可以將Wsdler插件用於Burp Suite,SoapUI,Postman等。還可以嘗試使用該工具嘗試所有GET,POST,PUT,DELETE,PATCH請求以及成功和快速的API測試。

 

如何防止IDOR漏洞?

首先,在創建應用程序時,應該控制所有普通,ajax和API請求。例如,只讀用戶可以在應用程序中寫入任何內容嗎?還是非管理員用戶可以訪問並創建僅由管理員用戶創建的API令牌?因此,要測試所有IDOR漏洞,您應該像黑客一樣思考。

您可以為所有端點在您的應用程序上提供權限。如果您的“ privatesection”端點包括諸如“ / api / privatesection / admins”,“ / api / privatesection / console”,“ / api / privatesection / tokens”之類的API請求,則可以為非管理員用戶阻止該端點。

同樣,為了使攻擊者的工作更加艱辛,甚至有時甚至阻止它,您可以使用哈希函數並使用哈希值代替常規數字或字符串。

 

部分內容翻譯自:

https://www.bugcrowd.com/blog/how-to-find-idor-insecure-direct-object-reference-vulnerabilities-for-large-bounty-rewards/


免責聲明!

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



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