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

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ã TCNội dungKỳ vọng
TC-AUTH-01Kiể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ảnTà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-03Vớ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-04Endpoint 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ôngMã/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
JWTJSON Web Token — định dạng token phổ biến, gồm header/payload/chữ ký
Brute-forceTấn công dò mật khẩu bằng cách thử liên tục nhiều lần
Token expirationThờ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.