Dekoder JWT
Po wklejeniu tokenu JSON Web Token można odczytać jego nagłówek i oświadczenia (claims) oraz sprawdzić go pod kątem ryzykownych ustawień. Token pozostaje w przeglądarce.
Nic nie opuszcza przeglądarki: token i wpisany sekret są przetwarzane wyłącznie na tej stronie.
Jak to działa
Podpisany JSON Web Token składa się z trzech części rozdzielonych kropkami: nagłówka, ładunku z oświadczeniami i podpisu. Pierwsze dwie są jedynie zakodowane w Base64url, więc każdy, kto ma token, może je odczytać. Narzędzie dekoduje je na Państwa urządzeniu, pokazuje oświadczenia czasowe jako daty i sprawdza ustawienia, które najczęściej powodują problemy z bezpieczeństwem. Próbuje też krótkiej listy sekretów z samouczków i konfiguracji domyślnych, ponieważ tokeny nimi podpisane może podrobić każdy.
Jak czytać wynik
Problemy wymagają poprawienia: token bez podpisu, brak czasu wygaśnięcia lub powszechnie znany sekret. Ostrzeżenia zależą od kontekstu; brak odbiorcy jest nieszkodliwy, jeśli token akceptuje tylko jedna usługa. Zdekodowanie to nie weryfikacja. Tylko sprawdzenie podpisu właściwym kluczem pokazuje, że token jest autentyczny i niezmieniony, a serwer musi dodatkowo ustalić z góry akceptowany algorytm, zamiast ufać nagłówkowi.
Ograniczenia
Narzędzie weryfikuje podpisy HS256, HS384 i HS512 za pomocą wpisanego sekretu. Nie weryfikuje podpisów RS, PS, ES ani EdDSA i nie odczytuje zaszyfrowanych tokenów (JWE), które mają pięć części.
Pytania
Czy mój token jest gdzieś wysyłany?
Nie. Dekodowanie, kontrole i weryfikacja podpisu odbywają się w przeglądarce. Mimo to aktywne tokeny należy traktować jak hasła i wklejać je tylko do zaufanych narzędzi.
Dlaczego alg none jest niebezpieczny?
Token nie ma podpisu, więc każdy może zmienić jego oświadczenia. Niektóre biblioteki akceptowały go dawniej, gdy serwer nie wymagał konkretnego algorytmu.
Jak długo powinien być ważny JWT?
Tak krótko, jak to praktyczne. Tokeny dostępu zwykle wygasają po 5–60 minutach; dłuższe sesje korzystają z tokenów odświeżania, które serwer może unieważnić.
Czy można tu zweryfikować tokeny RS256?
Nie. Wymaga to klucza publicznego wystawcy, zwykle publikowanego w jego punkcie końcowym JWKS. Takie tokeny należy weryfikować w bibliotece JWT ze stałym kluczem i algorytmem.
Potrzebują Państwo więcej, niż pokaże narzędzie?
Narzędzie sprawdza jedną rzecz. Nasi konsultanci patrzą na całość.
Testy penetracyjnePowiązane artykuły
-
Praktyczna lista kontrolna bezpieczeństwa WordPressa
Dwanaście kroków zabezpieczania WordPressa w rozsądnej kolejności: od aktualizacji i porzuconych wtyczek po 2FA, XML-RPC, kopie zapasowe, integralność plików i WAF.
-
Nagłówki bezpieczeństwa, które mają znaczenie, i te do wycofania
Praktyczny przewodnik: CSP z nonce, HSTS i preload, frame-ancestors, Referrer-Policy, Permissions-Policy i COOP, z przykładami i listą nagłówków do usunięcia.
-
Jak projektować i testować bezpieczne wgrywanie plików
Lista kontroli dla funkcji uploadu plików na podstawie OWASP Cheat Sheet, z tabelą testów do wykonania na każdym endpoincie uploadu.