Come testare gli attacchi JWT?
Ciao a tutti in questo blog cercherò di riassumere gli attacchi JWT
Abbiamo 3 punti solidi principali di cui parleremo
: cosa sono i JWT?
- Cosa sono gli attacchi JWT?
- Scenari sugli attacchi JWT
Iniziamo !!
- Cosa sono i JWT ?
I web token JSON (JWT) sono un formato standardizzato per l'invio di dati JSON con firma crittografica tra sistemi. A differenza dei token di sessione classici, tutti i dati necessari a un server vengono archiviati lato client all'interno del JWT stesso.
Un JWT è composto da 3 parti: un'intestazione , un payload e una firma . Ciascuno di essi è separato da un punto.xxxxx.yyyyy.zzzzz
Le parti di intestazione e payload di un JWT sono solo oggetti JSON con codifica base64url . Nella maggior parte dei casi, i dati dell'intestazione e del payload possono essere facilmente letti o modificati da chiunque abbia accesso al token. Pertanto, la sicurezza di qualsiasi meccanismo basato su JWT dipende fortemente dalla firma crittografica .
Per creare la parte della firma devi prendere l'intestazione codificata , il payload codificato , un segreto , l'algoritmo specificato nell'intestazione e firmarlo .
- Cosa sono gli attacchi JWT?
Gli attacchi JWT coinvolgono un utente che invia JWT modificati al server per raggiungere un obiettivo dannoso.
- Scenari sugli attacchi JWT
Per riassumere l'idea abbiamo un obiettivo è quello di giocare con la firma. possiamo giocare con la firma giocando con il contenuto della firma (payload - "alg" dell'intestazione - intestazione - segreto - firma tutto quanto menzionato). abbiamo 7 scenari in questo blog e userò l'estensione JWT Editor, per saperne di più da qui
- Il primo scenario: (gioca solo con il payload)
- il secondo scenario: (gioca con il payload e "alg")
{
"alg": "none",
"typ": "JWT"
}
Testare le chiavi segrete di forzatura bruta utilizzando hashcat, quindi utilizzare l'output e codificarlo e fare clic su Nuova chiave simmetrica e sostituire il valore generato per la kproprietà con il segreto con codifica Base64.
hashcat -a 0 -m 16500 <jwt> <wordlist>
Test per l'iniezione di JWT autofirmati tramite il jwkparametro tramite clic su Nuova chiave RSA e generazione, jwkquindi attacco con JWK incorporato
- Il quinto scenario: (gioca con l'intestazione tramite server esterno)
{
"keys": [
]
}
- Il sesto scenario:
- Il settimo scenario:

![Che cos'è un elenco collegato, comunque? [Parte 1]](https://post.nghiatu.com/assets/images/m/max/724/1*Xokk6XOjWyIGCBujkJsCzQ.jpeg)



































