- 安全測試教程
- 安全測試 - 首頁
- 安全測試 - 概述
- 安全測試 - 流程
- 安全測試 - 惡意軟體
- HTTP協議基礎
- HTTPS協議基礎
- 編碼和解碼
- 安全測試 - 密碼學
- 安全測試 - 同源策略
- 安全測試 - Cookie
- 駭客攻擊Web應用程式
- 安全測試 - 注入
- 測試身份驗證失效
- 測試跨站指令碼攻擊
- 不安全的直接物件引用
- 測試安全配置錯誤
- 測試敏感資料洩露
- 缺少功能級訪問控制
- 跨站請求偽造
- 存在漏洞的元件
- 未經驗證的重定向和轉發
- 安全測試 - Ajax安全
- 測試安全 - Web服務
- 安全測試 - 緩衝區溢位
- 安全測試 - 拒絕服務
- 測試惡意檔案執行
- 安全測試 - 自動化工具
- 安全測試有用資源
- 安全測試 - 快速指南
- 安全測試 - 有用資源
- 安全測試 - 討論
不安全的直接物件引用
當開發人員公開對內部實現物件的引用(例如檔案、目錄或資料庫金鑰)而沒有任何驗證機制時,可能會發生直接物件引用。這允許攻擊者操縱這些引用以訪問未授權的資料。
讓我們藉助簡單的圖表瞭解此缺陷的威脅代理、攻擊媒介、安全弱點、技術影響和業務影響。
示例
應用程式在訪問帳戶資訊的SQL呼叫中使用了未經驗證的資料。
String sqlquery = "SELECT * FROM useraccounts WHERE account = ?";
PreparedStatement st = connection.prepareStatement(sqlquery, ??);
st.setString( 1, request.getParameter("acct"));
ResultSet results = st.executeQuery( );
攻擊者修改瀏覽器中的查詢引數以指向Admin。
http://webapp.com/app/accountInfo?acct=admin
動手操作
步驟1 - 登入Webgoat並導航到訪問控制缺陷部分。目標是透過導航到其所在路徑來檢索tomcat-users.xml。以下是場景的快照。
步驟2 - 檔案的路徑顯示在“當前目錄是”欄位中 - C:\Users\userName$\.extract\webapps\WebGoat\lesson_plans\en,我們也知道tomcat-users.xml檔案儲存在C:\xampp\tomcat\conf下。
步驟3 - 我們需要遍歷當前目錄的所有路徑並從C:\驅動器導航。我們可以透過使用Burp Suite攔截流量來執行相同的操作。
步驟4 - 如果嘗試成功,它將顯示tomcat-users.xml,並顯示訊息“恭喜。您已成功完成本課程。”
預防機制
開發人員可以使用以下資源/要點作為指南,以在開發階段本身防止不安全的直接物件引用。
開發人員應僅對間接物件引用使用一個使用者或會話。
還建議在從不受信任的來源使用直接物件引用之前檢查訪問許可權。
廣告