漏洞定義
不安全的直接對象引用,也被稱IDOR。IDOR允許攻擊者繞過網站的身份驗證機制,並通過修改指向對象鏈接中的參數值來直接訪問目標對象資源,這類資源可以是屬於其他用戶的數據庫條目以及服務器系統中的隱私文件等等。導致這種情況出現的原因是,系統在接受用戶輸入並利用輸入信息獲取對象之前沒有對用戶身份權限進行檢測。
漏洞利用場景
以BTS PenTesting Lab中的實驗為例,如圖:
先創建兩個賬號,賬號名分別為“abc”和“123”,並設置好相應郵箱
然后登陸“abc”賬號,執行修改郵箱操作
把郵箱改成abcd@163.com時,用Brupsuite代理攔截數據
把用戶標識“id=5”修改成“id=4”后釋放,顯示郵箱修改成功~
最后登陸“123”的賬號,發現郵箱已被修改!
個人小結
不安全的直接對象引用漏洞跟業務邏輯漏洞有共同點,常規的越權操作、篡改訂單應該都屬於此范疇。防護策略可以從安全框架(封裝、加密)和加強上下文關聯(后台判斷、token)考慮。
關於IDOR的相關介紹:http://www.freebuf.com/news/139375.html
關於IDOR的案例參考:https://blog.csdn.net/sakaison/article/details/52586669