Bỏ qua để đến nội dung
Knowledge Hub

Tình huống: token admin bị lộ Trung cấp

Thời gian đọc ước tính: 1 phút

Một access token admin sống 24 giờ xuất hiện trong ảnh chụp log trên issue công khai. Bạn có bốn quyết định: chặn token, tìm phạm vi ảnh hưởng, xử lý signing secret, và sửa thiết kế để lần sau không đắt như vậy.

  • Câu hỏi cần trả lời ở mỗi bước: token còn dùng được không, và ai còn ký được token?
  • Điểm chỉ tính lựa chọn đầu tiên ở mỗi bước.
Tình huống

Token admin nằm trong ảnh chụp màn hình công khai

Bạn là backend lead on-call. Hệ thống dùng JWT HS256 tự chứa, access token sống 24 giờ, refresh token 30 ngày lưu trong DB. Mỗi lựa chọn hiển thị ngay hậu quả trên các chỉ số.

Token lộ còn dùng được21 giờ
Request cần soi tay0
Key ký bị lộ (giả mạo được)0
User bị buộc đăng nhập lại0
Đường rò token còn mở3

Bước 1/4 · Token còn sống 21 giờ

09:10, một dev dán ảnh chụp màn hình log nginx vào issue GitHub public để hỏi lỗi export. Trong ảnh có nguyên một access token của admin-07, phát hành lúc 06:10, exp còn 21 giờ. Issue đã public 40 phút.

kiểu token
JWT tự chứa, verify cục bộ
exp còn lại
21 giờ
user đang đăng nhập
118.000
GET /admin/reports/export?access_token=eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJhZG1pbi0wNyIsInJvbGUiOiJhZG1pbiIsImp0aSI6IjdmM2EuLi4iLCJleHAiOi4uLn0.Q2x...
// payload: {"sub":"admin-07","role":"admin","jti":"7f3a...","iat":...,"exp":... (+24h)}

Bạn làm gì?

Chơi xong, đọc Session cookie hay JWT để xem các cách thu hồi JWT và demo refresh token rotation có reuse detection.