Sobes.tech
Senior

Opowiedz o tokenie JWT: co można zrobić z przechwyconym tokenem — odczytać, zmienić, ponownie użyć?

sobes.tech AI

Odpowiedź od AI

JWT (JSON Web Token) składa się z trzech części: nagłówka, ładunku (payload) i podpisu.

  • Odczyt: Przechwycony JWT można łatwo odczytać, ponieważ jego części są zakodowane w Base64URL i nie są zaszyfrowane. Każdy może zdekodować payload i zobaczyć dane, takie jak userId, role itp.

  • Zmiana: Nie można zmienić zawartości tokena bez znajomości tajnego klucza podpisu, ponieważ podpis się nie zgodzi, a serwer odrzuci taki token. Jeśli jednak klucz podpisu zostanie naruszony, można fałszować tokeny.

  • Ponowne użycie: Przechwycony ważny token można używać ponownie do czasu wygaśnięcia (exp). Nazywa się to atakiem powtórnego odtwarzania (replay attack). Aby zminimalizować ryzyko, stosuje się krótki czas życia tokena i mechanizmy odświeżania (refresh tokens).

W związku z tym, przechwycony JWT można odczytać i użyć ponownie, ale nie można go zmienić bez klucza.