當開發人員公開對內部實現物件(例如:檔案,目錄或資料庫金鑰)的參照而沒有任何允許攻擊者操縱這些參照來存取未授權資料的驗證機制時,可能會發生直接物件參照。
通過下面每項來了解這個漏洞的威脅代理,攻擊向量,安全弱點,技術影響和業務影響。
該應用程式在存取帳戶資訊的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:/Drive
導航。可以通過使用Burp Suite攔截流量來執行相同的操作。
第4步 - 如果嘗試成功,它將顯示tomcat-users.xml
,並顯示訊息Congratulations. You have successfully completed this lesson.。