A7-Lỗi mất kiểm soat mức độ truy cập chức năng - Missing Function Level Access Control
Định nghĩa :
Hầu hết các trang web đều có 1 hàm phân quyền cho người dùng. Nhưng nếu hàm đó không được đồng bộ thực hiện trên server đúng đắn như phía người dùng thì kẻ tấn công có thể được lợi dụng lỗ hỏng này để tấn công vào trang web với những đặc quyền cao hơn
Cách tấn công :
Thay đổi địa chỉ web để có được những đặc quyền cao hơn trong quản trị trang web. Ví dụ như đang ở mức người dùng bình thường thay đổi có thể lên mức admin.
Xảy ra khi :
- Ứng dụng ẩn đi 1 số chức năng mà người dùng có thể tiếp cận được dữ liệu. Nhưng kẻ tấn công tìm được ra địa chỉ để vào chức năng đó.
- Thực thi không đồng thời cả 2 chức năng xác thực người dùng ở cả Client và server.
Thiệt hại
- Trước hết là thiệt hại về mặt thương mại cho công ty của bạn.
- Thiệt hại khi dữ liệu bị đánh cắp hoặc bị xóa.
Cách bảo vệ :
- Không code quá phức tạp
- Sử dụng các module xác thực người dùng
Ví dụ:
Mọi người dung có quyền truy cập vào link sau:
Kẻ tấn công có thể thay đổi đường link tới :
Với cách thay đổi trên, nếu không được kiểm soát đúng đắn tại cả client và server thì kẻ tấn công có thể chiếm được quyền kiểm soát tài khoản admin mặc dù người đó chỉ có quyền của một user bình thường.