Jak przetestować ataki JWT?
Cześć wszystkim na tym blogu postaram się podsumować ataki JWT
Mamy 3 główne stałe punkty, o których będziemy rozmawiać
- Czym są JWT?
- Czym są ataki JWT?
- Scenariusze dotyczące ataków JWT
Zacznijmy !!
- Czym są JWT ?
Tokeny sieciowe JSON (JWT) to ustandaryzowany format przesyłania podpisanych kryptograficznie danych JSON między systemami. W przeciwieństwie do klasycznych tokenów sesyjnych, wszystkie dane potrzebne serwerowi są przechowywane po stronie klienta w samym JWT.
JWT składa się z 3 części: nagłówka , ładunku i podpisu . Każdy z nich jest oddzielony kropką.xxxxx.yyyyy.zzzzz
Części nagłówka i ładunku JWT to po prostu obiekty JSON zakodowane w base64url . W większości przypadków dane nagłówka i ładunku mogą być łatwo odczytane lub zmodyfikowane przez każdego, kto ma dostęp do tokena. Dlatego bezpieczeństwo dowolnego mechanizmu opartego na JWT jest w dużym stopniu uzależnione od podpisu kryptograficznego .
Aby utworzyć część podpisu, musisz wziąć zakodowany nagłówek , zakodowany ładunek , sekret , algorytm określony w nagłówku i podpisać to .
- Czym są ataki JWT?
Ataki JWT polegają na wysyłaniu przez użytkownika zmodyfikowanych tokenów JWT na serwer w celu osiągnięcia złośliwego celu.
- Scenariusze dotyczące ataków JWT
Podsumowując naszą ideę, mamy jeden cel: bawić się sygnaturą. możemy bawić się sygnaturą poprzez zabawę z treścią sygnatury (ładunek — „alg” nagłówka — nagłówek — sekret — podpisz wszystkie wymienione). mamy 7 scenariuszy na tym blogu i użyję rozszerzenia JWT Editor, aby dowiedzieć się więcej na ten temat stąd
- Pierwszy scenariusz: (graj tylko ładunkiem)
- drugi scenariusz: (graj z ładunkiem i „alg” )
{
"alg": "none",
"typ": "JWT"
}
Przetestuj tajne klucze brutalnego wymuszania za pomocą hashcat, a następnie użyj danych wyjściowych i zakoduj je, a następnie kliknij Nowy klucz symetryczny i Zamień wygenerowaną wartość kwłaściwości na tajny kod zakodowany w Base64.
hashcat -a 0 -m 16500 <jwt> <wordlist>
Przetestuj wstrzykiwanie samopodpisanych tokenów JWT za pomocą jwkparametru, klikając Nowy klucz RSA i generuj, jwka następnie zaatakuj za pomocą osadzonego JWK
- Piąty scenariusz: (graj z nagłówkiem przez zewnętrzny serwer)
{
"keys": [
]
}
- Szósty scenariusz:
- Siódmy scenariusz:

![Czym w ogóle jest lista połączona? [Część 1]](https://post.nghiatu.com/assets/images/m/max/724/1*Xokk6XOjWyIGCBujkJsCzQ.jpeg)



































