Skip to content
KitploitKITPLOIT
ToolsExploitsBlog
Log in
Einreichen
ToolsExploitsBlog
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-2025-29927-Proof-of-Concept — Capture the Flag Herausforderung: CVE-2025-29927 in Kombination mit einer Befehlseinschleusungsschwachstelle | Kitploit
Tools/GitHubGitHub/si-ni/cve-2025-29927-proof-of-concept
Passwort-CrackingPrivilege EscalationSchwachstellenanalyseWebanwendungs-ExploitationCTFCommand and ControlLernen & Bildung
GitHubsi-ni/cve-2025-29927-proof-of-concept

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

CVE-2025-29927-Proof-of-Concept

Capture the Flag Herausforderung: CVE-2025-29927 in Kombination mit einer Befehlseinschleusungsschwachstelle

Repository anzeigen
13vor 8 MonatenNoch nicht geprüft

Komplettlösung

Schritt 1 (5 Min.)

Hinweis Welche Netzwerkdienste werden vom Ziel bereitgestellt?

— — —

Lösung

    kali@kali:~$ nmap <TARGET_IP>
    kali@kali:~$ nmap -sC -sV <TARGET_IP> -p <TARGET_PORTS>
  

Schritt 2 (5 Min.)

Hinweis 1 Die Landingpage zeigt nur eine Anmeldeseite, aber Webserver legen oft zusätzliche Pfade offen.
Hinweis 2 Versuche ein Verzeichnis-Brute-Force-Tool wie Gobuster oder DirBuster.

— — —

Lösung

    kali@kali:~$ gobuster dir -u http://<TARGET_IP>:<TARGET_PORT>/ -w /usr/share/wordlists/dirb/common.txt
  

    ===============================================================
    Starting gobuster in directory enumeration mode
    ===============================================================
    api                  (Status: 307) [Size: 35] [--> /api/auth/signin?callbackUrl=%2Fapi]
    apis                 (Status: 307) [Size: 36] [--> /api/auth/signin?callbackUrl=%2Fapis]
    cgi-bin/             (Status: 308) [Size: 8] [--> /cgi-bin]
    dashboard            (Status: 307) [Size: 41] [--> /api/auth/signin?callbackUrl=%2Fdashboard]
    favicon.ico          (Status: 200) [Size: 25931]
    login                (Status: 200) [Size: 6252]
    Progress: 4613 / 4613 (100.00%)
    ===============================================================
    Finished
    ===============================================================
  

Schritt 3 (20 Min.)

Hinweis 1 Die Seite /dashboard leitet zu /login weiter. Kannst du auf der Anmeldeseite Informationen finden, die es dir erlauben, die Weiterleitung zu umgehen?
Bild
Hinweis 2 Kannst du etwas für die Next.js-Version 15.2.2 finden?
Hinweis 3 Sieh dir CVE-2025-29927 an. Verwende den Proxy von Burp Suite, um die Anfrage abzufangen und die Anfrageheader vor dem Weiterleiten zu manipulieren.

— — —

Lösung

Hintergrund

Viele Webanwendungen schützen sensible Routen (z. B. /dashboard) mit Middleware. Die Middleware überprüft die Anfrage, validiert Sitzungscookies und bestätigt Benutzerberechtigungen. Wenn die Überprüfungen fehlschlagen, leitet die Middleware den Benutzer normalerweise zu /login weiter.

Schwachstellenmechanismus

CVE-2025-29927 ist ein Designfehler in der Verarbeitung der Next.js-Middleware. Er erlaubt einem Angreifer, den Middleware-Schutz vollständig zu umgehen, indem er den Header x-middleware-subrequest ausnutzt. Next.js verwendet diesen Header intern, um Endlosschleifen in der Middleware zu verhindern. Wenn eine Anfrage verarbeitet wird, prüft die Funktion runMiddleware die Anfrageheader:
  • Wenn x-middleware-subrequest vorhanden ist
  • und sein Wert den Middleware-Namen enthält
  • dann überspringt Next.js die Ausführung der Middleware und leitet die Anfrage direkt weiter
Dies ist als interne Optimierung gedacht, aber der Fehler besteht darin, dass externe Benutzer diesen Header ebenfalls setzen können.

Der anfällige Code


    const subreq = params.request.headers["x-middleware-subrequest"];
    const subrequests = typeof subreq === "string" ? subreq.split(":") : [];
    if (subrequests.includes(middlewareInfo.name)) {
      result = {
        response: NextResponse.next(),
        waitUntil: Promise.resolve(),
      }
      continue;
    }
  

Für Versionen ab 13.2.0

Next.js hat eine maximale Rekursionstiefe für die Middleware-Ausführung eingeführt. Dies wurde implementiert, um Endlosschleifen zu verhindern, hat jedoch keinen Einfluss auf die Schwachstelle.
x-middleware-subrequest: middleware:middleware:middleware:middleware:middleware
Indem wir diesen Header verwenden, sagen wir der Middleware: „Dies ist bereits eine von der Middleware generierte Anfrage – führe die Middleware nicht erneut aus.“
Bild Bild

Behebung

Next.js entfernt jetzt den Header x-middleware-subrequest aus allen eingehenden externen Anfragen, bevor die Middleware ausgeführt wird. Der Header wird nur dann als vertrauenswürdig eingestuft, wenn er innerhalb der Next.js-Laufzeit während eines legitimen Middleware-Chainings erstellt wurde. Konkret wird der Wert von x-middleware-subrequest jetzt gegen eine zufällig generierte hexadezimale Zeichenfolge validiert, sodass nur legitime interne Sitzungsanfragen die Autorisierungsprüfungen bestehen. Selbst wenn ein Angreifer den Header sendet, kann Next.js nun zwischen einer echten internen Unteranfrage (die das korrekte zufällig generierte Token trägt) und einer gefälschten von einem externen Angreifer unterscheiden.

Schritt 4 (15 Min.)

Hinweis 1 Datei-Uploads sind ebenfalls durch die Middleware geschützt, daher musst du den Header aus Schritt 3 bei jeder Anfrage mitsenden.
Hinweis 2 Benutzereingaben stellen immer ein hohes Risiko dar. Was wird hier neben dem Dateiinhalt noch als Benutzereingabe betrachtet? Und kannst du auf der Seite Informationen finden, die zeigen, wie das Bild verarbeitet wird?
Hinweis 3 Probiere einige bösartige Dateinamen aus. https://www.revshells.com/

— — —

Tool herunterladen