3.01 | Missing Function Level Access Control
🔥 Missing Function Level Access Control (MFAC) - Lỗ hổng Kiểm soát Truy cập Cấp Hàm
✅ 1️⃣ MFAC là gì?
📌 Định nghĩa:
Lỗ hổng Missing Function Level Access Control (MFAC) xảy ra khi ứng dụng không kiểm soát quyền truy cập vào một số chức năng ở cấp độ API hoặc backend, dẫn đến việc người dùng trái phép có thể gọi trực tiếp các API ẩn để thực hiện hành động mà họ không được phép.
📌 So sánh IDOR vs MFAC
| 🔥 Lỗ hổng | ❌ Nguy cơ bảo mật |
|---|---|
| IDOR (Insecure Direct Object Reference) | Truy cập dữ liệu của người khác bằng cách thay đổi ID (GET /profile/5678) |
| MFAC (Missing Function Level Access Control) | Truy cập chức năng cấm bằng cách gọi trực tiếp API (POST /admin/deleteUser) |
📌 IDOR → Kiểm soát nội dung dữ liệu
📌 MFAC → Kiểm soát quyền thực thi chức năng
🚨 2️⃣ Ví dụ thực tế về MFAC
Tình huống nguy hiểm
Một ứng dụng có giao diện quản trị viên để xóa người dùng:
- Chỉ admin mới thấy nút "Xóa người dùng"
- Tuy nhiên, API vẫn mở cho bất kỳ ai gọi trực tiếp:
POST /admin/deleteUser
Body: { "userId": 5678 } - Nếu attacker biết API này, họ có thể gửi request xóa tài khoản mà không cần quyền admin.