1. 13:08 12/08/2026
CẢNH BÁO THỰC TẾ
Người dùng đã đăng nhập vẫn có thể cố truy cập dữ liệu của người khác bằng cách gửi mã đối tượng khác trong URL, body hoặc query. Nếu backend chỉ kiểm tra có đăng nhập mà không kiểm tra quyền trên chính đối tượng đó, lỗi Broken Object Level Authorization, thường gọi là IDOR hoặc BOLA, có thể làm lộ hoặc thay đổi dữ liệu giữa các tài khoản và tenant.
Mỗi thao tác đọc, sửa, xóa, tải xuống và hành động nghiệp vụ nhạy cảm đều phải kiểm tra quyền ở phía server. Không tin user_id, tenant_id, role hay trạng thái do client gửi lên; dùng principal đã xác thực và áp chính sách quyền tại resource level. Dùng DTO cùng allow-list cho input cập nhật, không bind thẳng request vào entity.
Checklist kiểm thử cần có:
- Chủ sở hữu hợp lệ thực hiện được hành động.
- Người dùng khác trong cùng tenant và khác tenant bị từ chối.
- Quản trị viên chỉ có quyền mở rộng đã định nghĩa rõ.
- Trường nhạy cảm không thể bị cập nhật qua payload ngoài ý muốn.
Hãy log lần từ chối quyền với request ID và định danh đã rút gọn, nhưng không trả thông báo quá chi tiết cho client. Điều này hỗ trợ phát hiện dò quét mà không làm lộ thêm dữ liệu.
Tham khảo: OWASP API Security Top 10 2023 – Broken Object Level Authorization và Object Property Level Authorization.