今兒個我們說說《不安全的直接物件引用》!
什麼是不安全的直接物件引用
不安全的直接物件引用時,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 官方部落格
相關文章
- 說說我和圖靈的那些事兒圖靈
- 面試官:說說Java物件的四種引用方式面試Java物件
- 當我們說外掛系統的時候,我們在說什麼
- 【觀點】說APICloud之前,我們先說說開發者APICloud
- 說說我們的用的Scrum敏捷開發工具Scrum敏捷
- 當我們說要繼續做技術,我們在說什麼?
- 我們來說一說TCP神奇的40msTCP
- 這個需求,開發說我們不想做.......
- 當我們說一款遊戲“涼涼”時,我們在說什麼?遊戲
- 聽說你想把物件儲存當 HDFS 用,我們這裡有個方案...物件
- 有些大資料,我們們床上說……大資料
- 不安全的直接物件引用:你的 ASP.NET 應用資料是否安全?物件ASP.NET
- 當我們談論Promise時,我們說些什麼Promise
- 我說微軟,我們真的需要雅虎嗎薦微軟
- 當我們在說“併發、多執行緒”,說的是什麼?執行緒
- 遊戲的特質:當我們說“play”的時候,究竟在說什麼?遊戲
- 說說Java裡的equals(中)- Java那些事兒Java
- 說說我對 WSGI 的理解
- 高速輸出-我們戲說快取快取
- 說說Golang goroutine併發那些事兒Golang
- 劇情策劃在幹什麼?說說我們的職能與定位
- V社:玩家說我們不做遊戲了,這讓我們很受傷遊戲
- 說說我眼中的IT界加班文化
- 說說我眼中的Vue和ReactVueReact
- 【譯】哥們兒,我的方法哪兒去了?
- 面試官:說說Java物件的組成面試Java物件
- 面試官:說一說CyclicBarrier的妙用!我:這個沒用過面試
- 我們們從頭到尾說一次 Java 垃圾回收Java
- 聊聊GOOGLE說要退出中國這個事兒Go
- 說說我和Mac(二)Mac
- 說說我和Mac(一)Mac
- 遮罩層沒有消失 - 我們來說說 async、promise 和 yield 之間的那些事遮罩Promise
- 說說我心中的Linux系統Linux
- 說說ITSM專案實戰那些事兒(三)
- 當我們討論TCP的連線運輸管理時,我們在說什麼TCP
- 說說JS中的原型物件和原型鏈JS原型物件
- 細說引用和指標指標
- 說到遊戲的文化適配,我們在聊什麼?遊戲