
Docker-basiertes Labor zur Ausnutzung von CVE-2026-25993, einer Second-Order SQL-Injection in EverShop. Bereitstellen, enumerieren und die Datenbank mittels präparierter Kategorie-URL-Schlüssel auslesen.
cd EverShop-Lab/
docker compose up
Warten Sie ~2 Minuten für den ersten Build (klont EverShop v2.1.0, kompiliert, führt Migrationen durch, fügt Seed-Daten ein).
Die App ist unter http://localhost:3000 verfügbar.
| Feld | Wert |
|---|
| Admin-E-Mail | [email protected] |
| Admin-Passwort | password123 |
# Stop the lab (keep data)
docker compose down
# Stop and delete all data (fresh start next time)
docker compose down -v
# Rebuild from scratch
docker compose down -v
docker compose up -d --build
CVE-2026-25993 ist eine Second-Order SQL Injection in der Kategorie-URL-Rewrite-Verarbeitung von EverShop. Das Feld url_key validiert nur ^\S+$ (keine Leerzeichen) und erlaubt somit SQL-Metazeichen. Wenn eine Kategorie aktualisiert wird, erstellt ein Event-Subscriber rohes SQL mittels String-Konkatenation und führt den gespeicherten url_key in der Datenbank aus.
Die gesamte Datenbank auslesen. Keine Flags. Ihr Ziel:
Das Feld url_key bei Kategorien lehnt Leerzeichen ab, akzeptiert jedoch ' und ||. Wenn eine Kategorie aktualisiert wird, konkateniert ein Event-Subscriber diesen url_key in einen rohen SQL-REPLACE()-Aufruf. Erstellen Sie eine Elternkategorie, fügen Sie ein Kind hinzu und aktualisieren Sie dann den url_key der Elternkategorie – das Ergebnis landet nach ca. 15 Sekunden im url_rewrite-Eintrag des Kindes.