
Laboratoire basé sur Docker pour exploiter CVE-2026-25993, une injection SQL de second ordre dans EverShop. Déployez, énumérez et extrayez la base de données via des clés d'URL de catégorie fabriquées.
cd EverShop-Lab/
docker compose up
Attendez environ 2 minutes pour la première construction (clone EverShop v2.1.0, compile, exécute les migrations, insère les données).
L'application sera disponible à l'adresse http://localhost:3000.
| Champ | Valeur |
|---|
| Email admin | [email protected] |
| Mot de passe admin | password123 |
# Arrêter le labo (conserver les données)
docker compose down
# Arrêter et supprimer toutes les données (redémarrage à zéro la prochaine fois)
docker compose down -v
# Reconstruire depuis zéro
docker compose down -v
docker compose up -d --build
CVE-2026-25993 est une injection SQL de second ordre dans le traitement de réécriture d'URL de catégorie d'EverShop. Le champ url_key ne valide que ^\S+$ (pas d'espace), ce qui permet les métacaractères SQL. Lorsqu'une catégorie est mise à jour, un abonné aux événements construit du SQL brut via concaténation de chaînes, exécutant le url_key stocké dans la base de données.
Vider l'intégralité de la base de données. Pas de drapeaux. Votre objectif :
Le champ url_key des catégories rejette les espaces mais accepte ' et ||. Lorsqu'une catégorie est mise à jour, un abonné aux événements concatène ce url_key dans un appel SQL brut REPLACE(). Créez une catégorie parente, ajoutez une catégorie enfant en dessous, puis mettez à jour le url_key du parent — le résultat atterrit dans l'entrée url_rewrite de l'enfant après environ 15 secondes.