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-2026-42945-scan — Scansiona la tua configurazione di NGINX per determinare se è affetta da CVE-2026-42945. | Kitploit
Strumenti/GitHubGitHub/realityone/cve-2026-42945-scan
Analisi StaticaScanner di VulnerabilitàAudit di ConfigurazioneSicurezza WebConfigurazione Errata
GitHubrealityone/cve-2026-42945-scan

cve-2026-42945-scan

Scansiona la tua configurazione di NGINX per determinare se è affetta da CVE-2026-42945.

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

cve-2026-42945-scan

Scanner statico per file di configurazione NGINX che rileva il pattern rewrite/set associato a CVE-2026-42945.

Lo scanner analizza le configurazioni NGINX con crossplane, percorre i blocchi location, e stampa ogni posizione che appare affetta in questo formato:

root@kitploit:~
/<percorso>/xxx.conf:<numero_linea> -> location XXXXX

Esempio:

root@kitploit:~
/path/to/nginx.conf:39 -> location ~ ^/api/(.*)$

Riferimento: CVE-2026-42945-POC.

Requisiti

  • Python 3.10 o superiore
  • uv

Le dipendenze sono gestite con uv in pyproject.toml e bloccate in uv.lock. L'unica dipendenza runtime è .

crossplane

Configurazione

Dalla radice del repository:

root@kitploit:~
uv sync

Puoi anche saltare un passaggio di configurazione separato e lasciare che uv run crei l'ambiente al primo utilizzo.

Utilizzo

Scansiona un file di configurazione:

root@kitploit:~
uv run ./scan.py /etc/nginx/nginx.conf

Scansiona una directory ricorsivamente:

root@kitploit:~
uv run ./scan.py -r /etc/nginx

Scansiona ricorsivamente dalla directory corrente per file *.conf:

root@kitploit:~
uv run ./scan.py -r './*.conf'

Usa le virgolette per i glob quando vuoi che lo scanner li espanda ricorsivamente. Se la tua shell espande ./*.conf per prima, lo scanner riceve solo i file corrispondenti dalla shell.

Scansiona solo i file forniti e non seguire le direttive include:

root@kitploit:~
uv run ./scan.py --single ./site.conf

Mostra gli avvisi del parser, inclusi i file include mancanti:

root@kitploit:~
uv run ./scan.py -v -r /etc/nginx

Versione Go

Una implementazione Go con lo stesso formato di output e codici di uscita è disponibile in go/. Utilizza nginx-go-crossplane per il parsing delle configurazioni NGINX e pflag per i flag CLI. Richiede Go 1.23 o superiore.

Eseguilo con go run:

root@kitploit:~
cd go
go run . -r ../tests/fixtures

Quando vengono rilevati risultati, lo scanner termina con codice 1. go run stamperà una riga aggiuntiva exit status 1 in quel caso; compila il binario quando vuoi solo l'output dello scanner.

Compila un binario standalone:

root@kitploit:~
cd go
go build -o cve-2026-42945-scan-go .
./cve-2026-42945-scan-go -r ../tests/fixtures

Cosa Rileva

Il pattern di configurazione rischioso è una location che contiene:

  • una direttiva rewrite la cui sostituzione contiene un ? non escape
  • nessun flag di riscrittura terminale come last, break, redirect o permanent
  • una successiva direttiva set che copia una cattura regex come $1, ${1}, $name o ${name}

Esempio di pattern vulnerabile:

root@kitploit:~
location ~ ^/api/(.*)$ {
    rewrite ^/api/(.*)$ /internal?migrated=true;
    set $original_endpoint $1;
}

Lo scanner riporta la riga della location, non la riga rewrite o set, perché la location è il blocco su cui agire per ispezione e correzione.

Test Fixtures

La directory tests/fixtures/ contiene piccole configurazioni NGINX che possono essere utilizzate come esempi:

FixtureRisultato atteso
tests/fixtures/vulnerable.confriporta un risultato di cattura posizionale
tests/fixtures/named_capture.confriporta un risultato di cattura nominativa
tests/fixtures/missing_include_still_scans.confriporta un risultato anche se un include è mancante
tests/fixtures/safe_break_flag.confnessun risultato perché la rewrite usa break
tests/fixtures/safe_no_capture.confnessun risultato perché nessuna cattura è disponibile

Esegui lo scanner su tutte le fixture di esempio:

root@kitploit:~
uv run ./scan.py -r tests/fixtures

Risultati attesi:

root@kitploit:~
/absolute/path/to/tests/fixtures/missing_include_still_scans.conf:6 -> location ~ ^/partial/(.*)$
/absolute/path/to/tests/fixtures/named_capture.conf:2 -> location /users
/absolute/path/to/tests/fixtures/vulnerable.conf:2 -> location ~ ^/api/(.*)$

Output

Se vengono trovate posizioni affette, ogni risultato viene stampato su una propria riga:

root@kitploit:~
/absolute/path/to/file.conf:30 -> location ~ ^/aaaa/dddd/(.*)$
/absolute/path/to/nginx.conf:39 -> location ~ ^/api/(.*)$

Nessun output significa che nessuna posizione affetta è stata trovata nella configurazione analizzata.

Limitazioni

Questo è uno scanner di configurazione statico. Non:

  • verifica la versione di NGINX in esecuzione
  • dimostra la sfruttabilità
  • esegue o testa richieste contro un server
  • valuta completamente variabili dinamiche o configurazioni generate
  • rileva snippet vulnerabili nascosti in file include mancanti

Considera i risultati come posizioni che necessitano di revisione e correzione. Un host è realmente affetto solo quando sia la versione vulnerabile di NGINX che il pattern di configurazione rischioso sono presenti.

Sviluppo

Esegui la suite di test:

root@kitploit:~
uv run python -m unittest discover -s tests -v

Esegui la suite di test Go:

root@kitploit:~
cd go
go test ./...

Esegui il controllo sintattico:

root@kitploit:~
uv run python -m py_compile scan.py

Esegui contro la configurazione POC inclusa:

root@kitploit:~
uv run ./scan.py CVE-2026-42945-POC/env/nginx.conf

Output atteso:

root@kitploit:~
/absolute/path/to/CVE-2026-42945-POC/env/nginx.conf:39 -> location ~ ^/api/(.*)$
Scarica lo strumento