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.
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ố.
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.