今兒個我們說說《不安全的直接物件引用》!

OneAPM官方技術部落格發表於2015-12-25
什麼是不安全的直接物件引用

不安全的直接物件引用時,Web 應用程式公開給使用者內部實現物件。內部實現物件的一些例子是資料庫記錄、 Url 或檔案。 攻擊者可以修改內部實現物件中企圖濫用此物件上的訪問控制。當攻擊者這樣做他們可能有能力訪問開發人員不希望公開訪問的功能。

舉個例子

不安全的直接物件引用是很多種類別的漏洞。有許多例子這些型別的由其他名字在野外發現的漏洞。開放重定向和目錄遍歷是不安全的直接物件引用漏洞的兩個典型的例子。

開放重定向

這是在 Web 應用程式有一個引數,允許其他地方的使用者重定向到網站。如果此引數不實現正確使用白名單,攻擊者可使用這一網路釣魚攻擊引誘到他們選擇的站點的潛在受害者。

目錄遍歷

假設 Web 應用程式允許為要呈現給使用者儲存在本地計算機上的檔案。如果應用程式不驗證應訪問哪些檔案,攻擊者可以請求其他檔案系統上的檔案和那些也會顯示。

例如,如果攻擊者通知 URL: https://oneasp.com/file.jsp?file=report.txt

攻擊者可以修改檔案引數使用目錄遍歷攻擊。他修改的 URL: https://oneasp.com/file.jsp?file=../../../etc/shadow

這樣 /etc/陰影檔案返回並且呈現由 file.jsp 演示頁面容易受到目錄遍歷攻擊。

如何防止不安全的直接物件引用

一如往常,Web 應用程式開發人員可以防止這些攻擊通過良好的規劃。

開發人員應使用間接引用對映。直接對映很容易被攻擊者猜對了。開發人員應該避免暴露給使用者的私有物件。檔名稱,內部/外部 URL 和資料庫鍵都是不應顯示給使用者的事情的例子。

如果必須使用直接物件,然後開發人員應確保通過驗證,使用者有權檢視他們正在試圖訪問。在目錄遍歷示例中,確定哪些檔案使用者應該訪問並僅授予他們對這些檔案的許可權。這被稱為「接受已知良好」的方法,始終是一個好主意,當它來到開發安全應用程式。

如今,多樣化的攻擊手段層出不窮,傳統安全解決方案越來越難以應對網路安全攻擊。OneASP 自適應安全平臺整合了預測、預防、檢測和響應的能力,為您提供精準、持續、視覺化的安全防護。想閱讀更多技術文章,請訪問 OneAPM 官方技術部落格 本文轉自 OneAPM 官方部落格

相關文章