
Vulnerabilità di SQL Injection scoperta in Grocery Store Management System 1.0
È stata identificata una vulnerabilità di SQL Injection ad alta severità nel componente search_products.php di Grocery Store Management System 1.0, un'applicazione web basata su PHP/MySQL creata da anirudhkannan.
Il problema deriva da una validazione impropria degli input e dalla costruzione non sicura delle query SQL utilizzando il parametro scost controllato dall'utente. Questa falla consente agli attaccanti di manipolare la logica SQL sottostante, portando potenzialmente all'esposizione di dati sensibili, alla modifica dei dati o al completo compromesso del database.
Grocery/search_products.phpLa vulnerabilità esiste a causa della concatenazione diretta di input utente non validato nelle query SQL.
Il parametro POST scost, pensato per rappresentare un valore numerico del costo del prodotto, viene incorporato nella clausola WHERE SQL senza:
Ciò consente a un attaccante di iniettare espressioni booleane SQL arbitrarie, alterando il comportamento della query ed estraendo il contenuto del database tramite tecniche di SQL Injection basata su booleani.
La vulnerabilità è sfruttabile tramite una richiesta POST standard a search_products.php. Quando vengono fornite espressioni dannose, il backend restituisce differenze misurabili nelle risposte (variazioni VERO/FALSO), confermando che l'input utente influenza la logica SQL.
scostQueste condizioni consentono collettivamente agli attaccanti di modificare la logica SQL prevista.
Questa vulnerabilità è classificata come Alta a causa della bassa complessità di attacco, dell'assenza di requisiti di autenticazione e dell'impatto pieno di lettura/scrittura sul database.
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
Severità stimata: Alta (9.8)
La vulnerabilità può essere sfruttata tramite valori appositamente costruiti passati al parametro scost.
Gli attaccanti possono:
(I payload dettagliati sono stati volutamente omessi per prevenire un uso improprio.)
Per rimediare alla vulnerabilità:
scost accetti solo valori numericiFino a quando non sarà disponibile una patch: