Tham chiếu đối tượng trực tiếp không an toàn

Tham chiếu đối tượng trực tiếp có thể xảy ra khi nhà phát triển để lộ tham chiếu đến đối tượng triển khai nội bộ, chẳng hạn như tệp, thư mục hoặc khóa cơ sở dữ liệu mà không có bất kỳ cơ chế xác thực nào cho phép kẻ tấn công thao túng các tham chiếu này để truy cập dữ liệu trái phép.

Hãy cho chúng tôi hiểu Tác nhân đe dọa, Vectơ tấn công, Điểm yếu về bảo mật, Tác động kỹ thuật và Tác động kinh doanh của lỗ hổng này với sự trợ giúp của sơ đồ đơn giản.

Thí dụ

Ứng dụng sử dụng dữ liệu chưa được xác minh trong lệnh gọi SQL đang truy cập thông tin tài khoản.

String sqlquery = "SELECT * FROM useraccounts WHERE account = ?";
PreparedStatement st = connection.prepareStatement(sqlquery, ??);
st.setString( 1, request.getParameter("acct"));
ResultSet results = st.executeQuery( );

Kẻ tấn công sửa đổi tham số truy vấn trong trình duyệt của họ để trỏ đến Admin.

http://webapp.com/app/accountInfo?acct=admin

BẬT tay

Step 1- Đăng nhập vào Webgoat và điều hướng đến Phần kiểm soát lỗi truy cập. Mục tiêu là truy xuất tomcat-users.xml bằng cách điều hướng đến đường dẫn nơi nó nằm. Dưới đây là ảnh chụp nhanh của kịch bản.

Step 2 - Đường dẫn của tệp được hiển thị trong trường 'thư mục hiện tại là' - C: \ Users \ userName $ \. Extract \ webapps \ WebGoat \ lesson_plans \ en và chúng tôi cũng biết rằng tệp tomcat-users.xml được giữ trong C: \ xampp \ tomcat \ conf

Step 3- Chúng ta cần đi qua tất cả các cách ra khỏi thư mục hiện tại và điều hướng từ C: \ Drive. Chúng tôi có thể thực hiện tương tự bằng cách chặn lưu lượng truy cập bằng Burp Suite.

Step 4 - Nếu thành công, nó sẽ hiển thị tomcat-users.xml với thông báo "Xin chúc mừng. Bạn đã hoàn thành bài học này thành công."

Cơ chế phòng ngừa

Các nhà phát triển có thể sử dụng các tài nguyên / điểm sau đây làm hướng dẫn để ngăn chặn tham chiếu đối tượng trực tiếp không an toàn trong chính giai đoạn phát triển.

  • Các nhà phát triển chỉ nên sử dụng một người dùng hoặc một phiên cho các tham chiếu đối tượng gián tiếp.

  • Bạn cũng nên kiểm tra quyền truy cập trước khi sử dụng tham chiếu đối tượng trực tiếp từ một nguồn không đáng tin cậy.