Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
cve-2026-42945-scan — Scannen Sie Ihre NGINX-Konfiguration, um festzustellen, ob sie von CVE-2026-42945 betroffen ist. | Kitploit
Tools/GitHubGitHub/realityone/cve-2026-42945-scan
Statische AnalyseSchwachstellenscannerKonfigurationsprüfungWebsicherheitFehlkonfiguration
GitHubrealityone/cve-2026-42945-scan

cve-2026-42945-scan

Scannen Sie Ihre NGINX-Konfiguration, um festzustellen, ob sie von CVE-2026-42945 betroffen ist.

Repository anzeigen
1vor 3 MonatenNoch nicht geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

cve-2026-42945-scan

Statischer Scanner für NGINX-Konfigurationsdateien, der das rewrite/set-Muster im Zusammenhang mit CVE-2026-42945 erkennt.

Der Scanner analysiert NGINX-Konfigurationen mit crossplane, durchläuft location-Blöcke und gibt jede location aus, die in diesem Format betroffen wirkt:

root@kitploit:~
/<path-to>/xxx.conf:<line-number> -> location XXXXX

Beispiel:

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

Referenz: CVE-2026-42945-POC.

Anforderungen

  • Python 3.10 oder neuer
  • uv

Abhängigkeiten werden mit uv in pyproject.toml verwaltet und in uv.lock gesperrt. Die einzige Laufzeitabhängigkeit ist crossplane.

Einrichtung

Aus dem Repository-Stammverzeichnis:

root@kitploit:~
uv sync

Man kann den separaten Einrichtungsschritt auch überspringen und uv run die Umgebung bei der ersten Verwendung erstellen lassen.

Verwendung

Eine Konfigurationsdatei scannen:

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

Ein Verzeichnis rekursiv scannen:

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

Rekursiv aus dem aktuellen Verzeichnis nach *.conf-Dateien scannen:

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

Setze Glob-Muster in Anführungszeichen, wenn der Scanner sie rekursiv erweitern soll. Wenn deine Shell ./*.conf zuerst erweitert, erhält der Scanner nur die von der Shell gefundenen Dateien.

Nur die angegebenen Dateien scannen und include-Direktiven nicht verfolgen:

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

Parser-Warnungen anzeigen, einschließlich fehlender Include-Dateien:

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

Go-Version

Eine Go-Implementierung mit demselben Ausgabeformat und denselben Exit-Codes ist in go/ verfügbar. Sie verwendet nginx-go-crossplane zum Parsen von NGINX-Konfigurationen und pflag für CLI-Flags. Sie erfordert Go 1.23 oder neuer.

Mit go run ausführen:

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

Wenn Befunde vorhanden sind, beendet sich der Scanner mit Code 1. go run gibt in diesem Fall eine zusätzliche Zeile exit status 1 aus; baue das Binärprogramm, wenn du nur die Scanner-Ausgabe haben möchtest.

Ein eigenständiges Binärprogramm erstellen:

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

Was erkannt wird

Das riskante Konfigurationsmuster ist eine location, die Folgendes enthält:

  • eine rewrite-Direktive, deren Ersetzung ein nicht maskiertes ? enthält
  • kein terminales Rewrite-Flag wie last, break, redirect oder permanent
  • eine spätere set-Direktive, die einen Regex-Capture wie $1, ${1}, $name oder ${name} kopiert

Beispiel für ein verwundbares Muster:

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

Der Scanner meldet die location-Zeile, nicht die rewrite- oder set-Zeile, da der location-Block der umsetzbare Block ist, der geprüft und behoben werden muss.

Test-Fixtures

Das Verzeichnis tests/fixtures/ enthält kleine NGINX-Konfigurationen, die als Beispiele verwendet werden können:

Führe den Scanner gegen alle Beispiel-Fixtures aus:

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

Erwartete Befunde:

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/(.*)$

Ausgabe

Wenn betroffene locations gefunden werden, wird jeder Befund in einer eigenen Zeile ausgegeben:

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

Keine Ausgabe bedeutet, dass in der geparsten Konfiguration keine betroffene location gefunden wurde.

Einschränkungen

Dies ist ein statischer Konfigurationsscanner. Er kann nicht:

  • die laufende NGINX-Version verifizieren
  • die Ausnutzbarkeit nachweisen
  • Anfragen gegen einen Server ausführen oder testen
  • dynamische Variablen oder generierte Konfigurationen vollständig auswerten
  • verwundbare Schnipsel erkennen, die in fehlenden Include-Dateien versteckt sind

Behandle Befunde als Stellen, die überprüft und behoben werden müssen. Ein Host ist nur dann tatsächlich betroffen, wenn sowohl der verwundbare NGINX-Versionsbereich als auch das riskante Konfigurationsmuster vorhanden sind.

Entwicklung

Test-Suite ausführen:

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

Go-Test-Suite ausführen:

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

Syntaxprüfung ausführen:

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

Gegen die gebündelte POC-Konfiguration ausführen:

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

Erwartete Ausgabe:

root@kitploit:~
/absolute/path/to/CVE-2026-42945-POC/env/nginx.conf:39 -> location ~ ^/api/(.*)$
Tool herunterladen
FixtureErwartetes Ergebnis
tests/fixtures/vulnerable.confmeldet einen Befund für einen nummerierten Capture
tests/fixtures/named_capture.confmeldet einen Befund für einen benannten Capture
tests/fixtures/missing_include_still_scans.confmeldet einen Befund, obwohl ein Include fehlt
tests/fixtures/safe_break_flag.confkein Befund, da die rewrite-Direktive break verwendet
tests/fixtures/safe_no_capture.confkein Befund, da kein Capture verfügbar ist