
Advisory und Proof-of-Concept für eine zeitbasierte Blind-SQL-Injection-Schwachstelle in einem Online-Shopping-System, einschließlich technischer Details, Auswirkungsanalyse und Empfehlungen zur Behebung.
CVE: CVE-2025-52021
Titel: Zeitbasierte Blind-SQL-Injection über den Parameter product_id in edit_product.php
Anbieter / Repository: PuneethReddyHC — https://github.com/PuneethReddyHC/online-shopping-system-advanced
Betroffene Version: 1.0 (Branch/Tag master zum Zeitpunkt der Tests)
Entdecker: Hafiz Pradana Gemilang
Offenlegungsstatus: Anbieter wurde privat benachrichtigt. Vollständiger Exploit-PoC wird aus Sicherheitsgründen nicht öffentlich zugänglich gemacht.
Eine zeitbasierte Blind-SQL-Injection-Schwachstelle wurde in admin/admin/edit_product.php des Online Shopping System Advanced v1.0 gefunden. Der GET-Parameter product_id wird ohne ordnungsgemäße Validierung oder Parametrisierung in eine SQL-Abfrage eingefügt. Ein Angreifer kann Zeitverzögerungsfunktionen (z. B. ) injizieren, um Serverantwortverzögerungen zu beobachten und auf das Datenbankverhalten zu schließen, was einen entfernten SQL-Injection-Punkt bestätigt.
SLEEPHinweis: Dieses Advisory enthält bewusst keinen ausführbaren Exploit-Payload. Proof-of-Concept-Details wurden dem Maintainer privat mitgeteilt, um eine Behebung zu ermöglichen.
/admin/admin/edit_product.php?product_id=<value>
Beispiel-URL für lokale Tests:
http://<host>/online-shopping-system-advanced-master/admin/admin/edit_product.php?product_id=0
product_id (GET)admin/admin/edit_product.phpproduct_id akzeptieren und ihn ohne Parametrisierung in eine SQL-Anweisung einbeziehen.Zeitbasierte Injektionsversuche unter Verwendung der SLEEP()-Semantik der Datenbank erzeugten messbare serverseitige Verzögerungen, die mit einer erfolgreichen Injektion übereinstimmen:
SLEEP(6) → beobachtete Antwortverzögerung ≈ 6,01 sSLEEP(15) → beobachtete Antwortverzögerung ≈ 15,00 sSLEEP(0) → Basis-Antwortverzögerung ≈ 0,01 sDiese Ergebnisse deuten auf einen Blind-SQL-Injection-Punkt hin, der zeitbasierte Rückschlüsse ermöglicht. Der während der Tests beobachtete Datenbankname: onlineshop.
Eine erfolgreiche Ausnutzung dieser Schwachstelle ermöglicht Angreifern Folgendes:
Geschätzte Schwere: Hoch
product_id, die zeitverzögernde SQL-Konstrukte enthält (Tests wurden mit SLEEP()-Variationen durchgeführt).Vollständiger Schritt-für-Schritt-PoC wurde aus dem öffentlichen Advisory ausgelassen — kontaktieren Sie den Melder für einen verschlüsselten PoC im Rahmen der verantwortungsvollen Offenlegung.
$stmt = $pdo->prepare('SELECT * FROM products WHERE id = ?');
$stmt->execute([$product_id]);
product_id als Ganzzahl und validieren Sie entsprechend (z. B. filter_input(INPUT_GET, 'product_id', FILTER_VALIDATE_INT)).DROP, ALTER, GRANT oder administrative Rechte).(Zur Bequemlichkeit des Anbieters/Maintainers enthalten — veröffentlichen Sie PoC-Payloads nicht öffentlich)
sqlmap -u "http://<host>/online-shopping-system-advanced-master/admin/admin/edit_product.php?product_id=0" --dbms=mysql --batch --level=5 --risk=3 --technique=T --time-sec=6
Entdecker: Hafiz Pradana Gemilang
Anbieter / Repository: https://github.com/PuneethReddyHC/online-shopping-system-advanced
Haftungsausschluss: Dieses öffentliche Advisory lässt ausführbare Payloads aus, um Benutzer zu schützen. Vollständige technische Details und PoC sind dem Anbieter auf Anfrage im Rahmen einer vereinbarten Richtlinie zur verantwortungsvollen Offenlegung verfügbar.