Skip to content
KitploitKITPLOIT
StrumentiExploitsBlog
Log in
Invia
StrumentiExploitsBlog
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.

FeedContattoPrivacy© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
CVE-2025-29927 — Questo è uno scanner CVE-2025-29927. | Kitploit
Strumenti/GitHubGitHub/houmanpashaei/cve-2025-29927
RicognizioneScanner di VulnerabilitàSfruttamento di Applicazioni WebSicurezza WebPenetration TestingCrawler
GitHubhoumanpashaei/cve-2025-29927

CVE-2025-29927

Questo è uno scanner CVE-2025-29927.

Vedi Repository
5181 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

Scanner avanzato per la vulnerabilità CVE-2025-29927

Questo è uno scanner di livello professionale progettato per rilevare la vulnerabilità di bypass del middleware CVE-2025-29927 nelle applicazioni Next.js.

🧠 Cosa fa

  • Usa un browser headless reale (Playwright) per eseguire una scansione profonda di un sito web target (inclusi i contenuti renderizzati via JS)
  • Testa i percorsi interni con header X-Middleware-Subrequest appositamente costruiti per bypassare il middleware di Next.js
  • Confronta lo stato HTTP e la lunghezza della risposta per identificare i bypass
  • Completamente multithread per prestazioni elevate

🚀 Avvio rapido

Installazione (Locale)```bash

pip install -r requirements.txt playwright install

### Esegui lo scanner```bash
python main.py --domain https://example.com --threads 10 --timeout 10 --save

Tutte le opzioni CLI```bash

python main.py --help

| Option         | Description                                |
|----------------|--------------------------------------------|
| `--domain`     | URL base del sito di destinazione (obbligatorio) |
| `--user-agent` | User-agent personalizzato (predefinito: stringa Chrome) |
| `--timeout`    | Timeout della richiesta (predefinito: 10 secondi) |
| `--proxy`      | Indirizzo proxy (facoltativo)              |
| `--save`       | Salva i risultati in `results.txt`         |
| `--threads`    | Numero di thread (predefinito: 10)         |
| `--wordlist`   | Wordlist include percorsi comuni           |

---

## 🐳 Utilizzo Docker

### Crea l'immagine Docker```bash
docker build -t cve-scanner .

Esegui lo scanner```bash

docker run -it --rm cve-scanner --domain https://example.com --save

---

## ⚙️ GitHub Actions

Questo progetto include un workflow di GitHub Actions per testare la configurazione al push. Esso:

- Installa le dipendenze
- Installa i browser di Playwright
- Esegue un controllo `--help`

Vedi `.github/workflows/python.yml`.

---

## 🧱 Struttura```
.
├── main.py              # Entry point
├── config.py            # CLI parser
├── crawler.py           # Playwright crawler
├── scanner.py           # Multi-threaded vulnerability testing
├── requirements.txt
├── Dockerfile
└── .github/workflows

🧠 Maggiori Dettagli

🧠 Progettazione Avanzata dello Scanner per la Vulnerabilità CVE-2025-29927

Panoramica della vulnerabilità CVE-2025-29927

CVE-2025-29927 è una grave falla di sicurezza di Next.js che consente agli attaccanti di bypassare l'autenticazione e l'autorizzazione basate su middleware. Includendo uno speciale header interno (X-Middleware-Subrequest) nelle richieste HTTP, un attaccante può ingannare il server Next.js facendogli saltare l'esecuzione del middleware, ottenendo così accesso a rotte protette. In pratica, una richiesta che normalmente sarebbe bloccata dal middleware di autenticazione (ad esempio restituendo un 401/403 o reindirizzando al login) viene elaborata normalmente se questo header è presente, bypassando di fatto i controlli di sicurezza. La vulnerabilità riguarda le versioni di Next.js dalla 11.1.4 alla 15.2.2, e gli amministratori sono invitati ad applicare patch o implementare mitigazioni (come rimuovere questo header a livello di proxy) per proteggere le proprie applicazioni.

Bypass del middleware Next.js includendo lo speciale header X-Middleware-Subrequest, che consente l'accesso diretto a una risorsa protetta (exploit CVE-2025-29927)

Individuare questa vulnerabilità in un'applicazione web richiede di scoprire gli endpoint interni e testarli con l'header dannoso per verificare se è possibile un accesso non autorizzato. Di seguito viene presentato un piano di progettazione per uno script Python avanzato che esegue il crawling di un sito web target (con pieno supporto JavaScript) e cerca CVE-2025-29927, soddisfacendo tutti i requisiti specificati.

🚀 Strumenti e Librerie per il Crawling Dinamico e la Scansione

Per soddisfare il requisito di un crawling approfondito che includa contenuti renderizzati da JavaScript, utilizzeremo Playwright (preferito a Selenium per velocità e API moderna). Playwright è una potente libreria di automazione di browser headless in grado di gestire applicazioni web dinamiche e moderni framework JS. Rispetto a Selenium, Playwright offre un'API più moderna (basata su Chrome DevTools Protocol) e supporta sia l'operazione sincrona che asincrona, il che può garantire prestazioni migliori per il nostro caso d'uso. Le librerie chiave e le relative istruzioni di installazione includono:

  • playwright – per l'automazione di browser headless (per caricare SPA o pagine che richiedono JavaScript). (Installazione: pip install playwright ed eseguire playwright install per ottenere i binari del browser).

  • requests o httpx – per inviare richieste HTTP durante la fase di scansione. Possiamo usare requests per semplicità oppure httpx/aiohttp per il supporto asincrono. (Installazione: pip install requests oppure pip install httpx).

  • bs4 (BeautifulSoup) – per analizzare l'HTML ed estrarre i link quando necessario. Playwright può interrogare direttamente il DOM, ma usare BeautifulSoup sul contenuto HTML della pagina è semplice per trovare i tag anchor. (Installazione: pip install beautifulsoup4).

  • concurrent.futures (built-in) o asyncio – per implementare la concorrenza. Per il multi-threading, verrà usato concurrent.futures.ThreadPoolExecutor di Python (nessuna installazione aggiuntiva). Se si utilizza un approccio asincrono, si possono usare asyncio con httpx per richieste parallele.

  • (Opzionale) argparse – per analizzare gli argomenti della riga di comando se vogliamo un'interfaccia CLI invece di un menu interattivo. (modulo integrato)

  • (Opzionale) rich o colorama – per output console colorati o formattati, per migliorare la leggibilità. (Installazione: pip install rich oppure pip install colorama).

Motivazione: Playwright è stato scelto per la sua capacità di estrarre contenuti dinamici senza eccessive complessità. «Con Playwright possiamo automatizzare browser headless... per navigare sul web proprio come farebbe un essere umano, il che lo rende ideale per lo scraping di siti web dinamici basati su JavaScript». Questo garantisce che il nostro crawler possa vedere link o elementi UI generati dagli script (che un semplice crawler basato su requests non vedrebbe).

🚀 Crawling con Supporto JavaScript (Scoperta Dinamica dei Percorsi)

Il modulo crawler userà Playwright in modalità headless per eseguire un crawling approfondito del sito target. L'obiettivo è scoprire i percorsi interni (endpoint) da testare, inclusi quelli visibili solo dopo l'esecuzione di JavaScript. Punti chiave di progettazione del crawler:

Navigazione con browser headless: Avviare un'istanza del browser (ad es. Chromium) in modalità headless tramite Playwright. Usare un Browser Context con un User-Agent personalizzato se specificato dall'utente (maggiori dettagli nella prossima sezione). Ad esempio, possiamo creare un context con browser.new_context(user_agent=<user_agent_string>) per emulare lo User-Agent scelto. Se è configurato un proxy, applicarlo all'avvio (Playwright consente di impostare un server proxy quando si avvia il browser o il context).

Strategia di crawling ricorsivo: Partire da un URL di base (seed). Usare page.goto(base_url, timeout=<T>) per caricare la pagina (timeout configurabile). Attendere che la rete sia inattiva o un breve intervallo per consentire il caricamento dei contenuti dinamici, se necessario. Poi estrarre i link. Possiamo estrarre i link in due modi:

Scarica lo strumento