// Glossario IT
SQL Injection
Una tecnica di attacco che inserisce comandi SQL malevoli in un campo di input per manipolare il database di un'applicazione.
Cos'è
La SQL injection sfrutta un'applicazione che non convalida correttamente l'input dell'utente prima di usarlo in una query verso il database, permettendo a un attaccante di inserire comandi SQL arbitrari attraverso un modulo web o un parametro di URL, ed eseguire operazioni non previste come leggere dati riservati, modificarli o cancellarli.
Perché conta
È presente stabilmente nella top ten delle vulnerabilità web OWASP da oltre vent'anni, nonostante sia una delle più facili da prevenire tecnicamente (con query parametrizzate invece di costruire comandi SQL concatenando stringhe). Continua a comparire soprattutto in applicazioni datate o sviluppate senza una revisione della sicurezza del codice, ed è tuttora una delle cause più comuni di data breach su applicazioni web.
In pratica
La prevenzione passa da query parametrizzate (prepared statement), validazione dell'input con liste di valori ammessi, un account del database con i soli privilegi necessari all'applicazione e test di sicurezza del codice prima di ogni rilascio. Riferimento: OWASP, SQL Injection.
Tag