
Next.js und die korrupte Middleware...VERSUCH ES ZU HACKEN..!
Dies ist ein Beispiel-Next.js-Projekt, das mit [create-next-app] erstellt wurde, um praktisch zu erklären, wie cve-2025-29927 funktioniert. (https://nextjs.org/docs/app/api-reference/cli/create-next-app).
Starte zuerst den Entwicklungsserver:
npm run dev
# or
yarn dev
# or
pnpm dev
# or
bun dev
Öffne http://localhost:3000 in deinem Browser, um das Ergebnis zu sehen.
JETZT kannst du Burp oder andere Browsererweiterungen verwenden, um die Header zu modifizieren und die Middleware mit dem Payload auszunutzen.

Wenn eine next.js-Anwendung eine Middleware verwendet, wird die runMiddleware-Funktion verwendet. Letztere ruft – über ihren Hauptnutzen hinaus – den Wert des x-middleware-subrequest-Headers ab und verwendet ihn, um zu wissen, ob die Middleware angewendet werden soll oder nicht. Der Header-Wert wird aufgeteilt, um eine Liste zu erstellen, wobei das Spaltenzeichen (:) als Trennzeichen verwendet wird, und dann wird geprüft, ob diese Liste den Wert middlewareInfo.name enthält.
Das bedeutet, dass die Middleware – egal welchen Zweck sie hat – vollständig ignoriert wird, wenn wir den x-middleware-subrequest-Header mit dem korrekten Wert zu unserer Anfrage hinzufügen. Die Anfrage wird über NextResponse.next() weitergeleitet und setzt ihren Weg zum ursprünglichen Ziel fort, ohne dass die Middleware irgendeine Auswirkung/Influence darauf hat. Der Header und sein Wert fungieren als universeller Schlüssel, der es ermöglicht, Regeln zu überschreiben. An diesem Punkt wissen wir bereits, dass wir gerade etwas Verrücktes ausgegraben haben.
Uploading next-middleware-2.png…
Beachte, dass wir hier "next": "14.0.4" verwenden.