Mmaiqai.com
🔐 API Testing · Chương 4 · Mục 4.9 · OWASP #9

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ã TCNội dungKỳ vọng
TC-BFLA-01Dù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-02Rà 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ọiMọ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-03Kiể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
BFLABroken 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 escalationLeo 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.