Broken Authentication
🎯 Mục tiêu học: hiểu các điểm yếu thường gặp trong cơ chế xác thực (đăng nhập, cấp token, đặt lại mật khẩu) — khác với BOLA (kiểm tra quyền trên từng tài nguyên), đây là lỗi ở chính bước xác định "bạn là ai".
Rủi ro là gì
Cơ chế xác thực yếu ở bất kỳ khâu nào cũng làm sập toàn bộ hệ thống phân quyền phía sau — vì mọi kiểm tra quyền (BOLA, BFLA...) đều dựa trên giả định "token/session này đúng là của người dùng đó". Vài dạng phổ biến: token không có hạn dùng, đăng nhập không giới hạn số lần thử sai, endpoint đặt lại mật khẩu không xác thực đủ chặt.
Checklist kiểm tra
Cách kiểm tra
| Mã TC | Nội dung | Kỳ vọng |
|---|---|---|
| TC-AUTH-01 | Kiểm tra token có hạn sử dụng rõ ràng không (JWT có claim exp, hoặc session có thời gian hết hạn phía server) | Token/session hết hạn sau khoảng thời gian hợp lý, không dùng được vĩnh viễn |
| TC-AUTH-02 | Đăng nhập sai mật khẩu liên tục 20-30 lần cho cùng 1 tài khoản | Tài khoản bị khoá tạm thời hoặc yêu cầu xác thực thêm (captcha), không cho brute-force vô hạn |
| TC-AUTH-03 | Với JWT: thử sửa payload (vd đổi userId) rồi gửi lại mà không ký lại chữ ký | Server phải từ chối do chữ ký không khớp — nếu vẫn chấp nhận là lỗi nghiêm trọng |
| TC-AUTH-04 | Endpoint quên mật khẩu/đặt lại mật khẩu: kiểm tra mã OTP/link có giới hạn số lần thử và thời gian hết hạn không | Mã/link chỉ dùng được 1 lần, hết hạn sau thời gian ngắn, giới hạn số lần nhập sai |
📌 Ghi nhớ
Test authentication không chỉ là "đăng nhập đúng thì vào được" — trọng tâm thực sự là test các đường vòng (brute-force, token giả mạo, quên giới hạn OTP) mà một luồng đăng nhập "nhìn có vẻ ổn" vẫn có thể mắc phải.
📖 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 |
|---|---|
| JWT | JSON Web Token — định dạng token phổ biến, gồm header/payload/chữ ký |
| Brute-force | Tấn công dò mật khẩu bằng cách thử liên tục nhiều lần |
| Token expiration | Thời hạn sử dụng của token trước khi bị coi là không hợp lệ |
📎 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.