Một lỗ hổng JWT nổi tiếng: kẻ tấn công sửa header thành {"alg":"none"} và bỏ chữ ký để bypass xác thực. Middleware an toàn phải từ chối alg không phải HS256.
Cho một JWT h.p.s ở dòng 1 (s có thể rỗng) và secret ở dòng 2. Quy trình:
alg !== 'HS256' → in REJECTED_ALG.VERIFIED, không khớp → BAD_SIGNATURE.Input:
<header alg=none>.<payload>.
secret
Output: REJECTED_ALG
Dòng 1: JWT. Dòng 2: secret.
header là JSON có claim alg.
REJECTED_ALG | VERIFIED | BAD_SIGNATURE.
Ví dụ:
Đầu vào:
eyJhbGciOiJub25lIiwidHlwIjoiSldUIn0.eyJzdWIiOiIxIn0.
secret
Đầu ra:
REJECTED_ALG
Giải thích:
Đang tải editor...