Lab: URL-based access control can be circumvented

Mô tả

Trang web này có bảng điều khiển quản trị chưa xác thực tại /admin, nhưng hệ thống front-end đã được cấu hình để chặn truy cập bên ngoài vào đường dẫn đó. Tuy nhiên, ứng dụng back-end được xây dựng trên một framework hỗ trợ X-Original-URLheader

Mục tiêu: Truy cập bảng quản trị và xóa người dùng carlos.

Phân tích

Việc truy cập trực tiếp vào /admin là không thành công

Gửi request đến Repeater. Thay đổi URL trong yêu cầu thành / và thêm HTTP header X-Original-URL: abc.

Quan sát thấy ứng dụng trả về phản hồi "Not Found". Điều này cho biết hệ thống back-end đang xử lý URL từ X-Original-URLheader.

Giải pháp

Thay đổi X-Original-URLheader thành /admin

Để xóa carlos, hãy thêm ?username=carlosvào chuỗi truy vấn thực và thay đổi X-Original-URLđường dẫn thành /admin/delete

Last updated