Broken Function Level Authorization (BFLA)
🎯 Mục tiêu học: phân biệt rõ với BOLA (Mục 4.1) — BOLA kiểm tra quyền theo từng tài nguyên cụ thể, còn BFLA kiểm tra quyền theo chức năng/vai trò (role).
Rủi ro là gì
Hệ thống có các API chỉ dành cho vai trò cao hơn (admin, nhân viên vận hành...) nhưng server chỉ kiểm tra "đã đăng nhập hợp lệ chưa" mà quên kiểm tra "đúng vai trò được phép gọi chức năng này không". Kết quả: user thường vẫn gọi được API dành riêng cho admin nếu biết đúng endpoint.
DELETE /v1/orders/ORD1003 Authorization: Bearer <token của user thường, role = "customer"> # Theo tài liệu, chức năng xoá đơn hàng chỉ dành cho role "admin". # Nếu server chỉ check "token hợp lệ" mà quên check role # → user thường vẫn xoá được đơn hàng, vượt quyền được cấp.
Checklist kiểm tra
Cách kiểm tra
| Mã TC | Nội dung | Kỳ vọng |
|---|---|---|
| TC-BFLA-01 | Dùng token của user role thấp gọi thử API dành riêng cho role cao hơn (theo tài liệu phân quyền) | Bị từ chối (403 Forbidden), không thực hiện được hành động vượt quyền |
| TC-BFLA-02 | Rà soát toàn bộ API quản trị (tạo/sửa/xoá dữ liệu nhạy cảm), liệt kê đúng role nào được phép gọi | Mọi API quản trị đều có kiểm tra role rõ ràng, không có API nào 'lọt lưới' |
| TC-BFLA-03 | Kiểm tra API ẩn (không hiển thị trên UI của role thấp nhưng vẫn tồn tại ở tầng API) | Việc ẩn ở UI không thay thế được kiểm tra quyền ở tầng API — API vẫn phải tự chặn dù UI không cho bấm |
📌 Ghi nhớ
"UI không hiển thị nút đó cho user thường" hoàn toàn không phải bằng chứng API đã chặn đúng — phân quyền phải kiểm chứng trực tiếp ở tầng API, không tin vào việc ẩn trên giao diện.
📖 Thuật ngữ Anh–Việt (mục này)
Đề thi dùng thuật ngữ tiếng Anh — nhớ đúng cụm bên trái. Bấm 🔊 để nghe từng từ, hoặc "Đọc tất cả" để nghe lần lượt Anh → (vài giây) → Việt.
| Thuật ngữ (EN) | Nghĩa & ghi nhớ nhanh |
|---|---|
| BFLA | Broken Function Level Authorization — thiếu kiểm tra quyền theo vai trò/chức năng |
| Role-based access control (RBAC) | Kiểm soát truy cập dựa trên vai trò người dùng |
| Privilege escalation | Leo thang đặc quyền — thực hiện được hành động vượt quá quyền được cấp |
📎 Nội dung do maiqai.com biên soạn dựa trên OWASP API Security Top 10 (2023, CC BY-SA 4.0), diễn giải lại bằng tiếng Việt kèm ví dụ minh hoạ riêng.