🔐 API Testing · Chương 4 · Mục 4.3 · OWASP #3
Broken Object Property Level Authorization (BOPLA)
🎯 Mục tiêu học: hiểu 2 dạng rủi ro ở cấp độ field/property (khác BOLA là ở cấp độ toàn bộ object) — gộp lại từ 2 hạng mục cũ: Excessive Data Exposure và Mass Assignment.
2 dạng rủi ro
| Dạng | Rủi ro | Ví dụ |
|---|---|---|
| Excessive Data Exposure | Response trả về nhiều field hơn mức client cần, để lộ dữ liệu nội bộ/nhạy cảm | GET /v1/orders/{id} trả kèm field internalCostPrice (giá vốn nội bộ) dù UI không hiển thị |
| Mass Assignment | Client gửi thêm field không được phép sửa, nhưng server vẫn áp dụng vì tự động map toàn bộ body vào object | PATCH /v1/orders/{id} gửi thêm { "status": "PAID" } dù field này lẽ ra chỉ hệ thống thanh toán mới được đổi |
Checklist kiểm tra
Excessive Data Exposure
| Mã TC | Nội dung | Kỳ vọng |
|---|---|---|
| TC-BOPLA-01 | Rà soát toàn bộ field trong response, đối chiếu với những gì UI/tài liệu thực sự cần hiển thị | Không có field nội bộ/nhạy cảm (giá vốn, ghi chú nội bộ, hash mật khẩu...) bị lộ ra ngoài |
Mass Assignment
| Mã TC | Nội dung | Kỳ vọng |
|---|---|---|
| TC-BOPLA-02 | Gửi thêm field không có trong tài liệu API vào body (vd status, isAdmin, role) khi tạo/cập nhật | Server bỏ qua field không được phép, không áp dụng theo giá trị client tự gửi |
📌 Ghi nhớ
BOPLA khác BOLA ở chỗ: dù bạn đang thao tác đúng tài nguyên của chính mình (không vi phạm BOLA), vẫn có thể lộ field không nên thấy, hoặc sửa field không nên sửa được.
📖 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 |
|---|---|
| Excessive Data Exposure | Lộ dữ liệu thừa — response chứa field nhạy cảm không cần thiết |
| Mass Assignment | Gán hàng loạt — server tự động áp dụng mọi field client gửi mà không lọc |
| Allowlist field | Danh sách field được phép nhận/trả — cách phòng chống chuẩn cho cả 2 rủi ro trên |
📎 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.