Il cittadino medio non sa cosa è una sql injection


Una vulnerabilità di tipo sql injection si verifica, essenzialmente, quando una piattaforma che si appoggia a un DBMS (Database management system) è stata sviluppata senza sanificare correttamente gli input, rendendo possibile l'esfiltrazione di dati usando delle query specifiche.

La questione è piuttosto tecnica e non facile da capire, ma ci proviamo lo stesso.

Molte piattaforme sono composte da un frontend (es. le pagine web dinamiche) e un backend, che generalmente è un database dove vengono conservati i dati. Ad esempio, su un motore di ricerca bibliotecario ci saranno pagine web dove l'utente inserisce, in un modulo, il titolo del libro. A quel punto, il software frontend interroga il database per ottenere il risultato della ricerca.

Se il frontend non adotta misure di sicurezza come la sanificazione degli input utente, ad esempio limitando i caratteri consentiti, potrebbe essere possibile inviare al database comandi per ottenere risultati diversi da quelli previsti, sfruttati dagli attaccanti per ottenere dati che, in situazioni normali, non dovrebbero essere accessibili.

E' una vulnerabilità piuttosto diffusa, poiché molto software è stato realizzato in modo poco professionale e senza tenere a mente i principi base di sicurezza.


Scopri un altro comportamento migliorabile
oppure prova a fare una ricerca.