SQL
Input inserito in una query al database senza separazione tra dati e istruzioni.
home / risorse / vulnerabilità / A05
OWASP Top 10 2025 · posizione 5
L'input dell'utente viene interpretato come parte di una query, di un comando o di un contenuto. Nel 2025 la categoria scende dal terzo al quinto posto, ma resta tra le più sfruttate.
cos'è
La vulnerabilità nasce quando l'applicazione non separa ciò che è dato da ciò che è comando. Un valore che dovrebbe restare un testo viene eseguito come parte di una query, di un comando del sistema o di una pagina.
Include le query SQL, i comandi del sistema operativo e il cross-site scripting (XSS), in cui un contenuto non codificato viene eseguito nel browser di un altro utente.
forme comuni
Input inserito in una query al database senza separazione tra dati e istruzioni.
Valori dell'utente passati a un comando del sistema operativo.
Contenuti non codificati che il browser esegue, con l'accesso della sessione della vittima.
Motori di template o linguaggi di query che interpretano input non attendibili.
impatto tipico
Dati di clienti e ordini letti o alterati.
Il server esegue operazioni non previste dall'applicazione.
Nel caso dell'XSS, azioni eseguite a nome di un altro utente.
Credenziali o token raccolti dal browser della vittima.
come lo verifichiamo
Si individuano tutti i punti in cui l'utente invia dati.
Si verifica dove finisce ogni input: query, comando, pagina.
Si confronta il comportamento atteso con quello reale, in un ambiente di test.
Una persona valuta l'impatto e assegna la gravità.
come si corregge
Il test OWASP Top 10 copre injection e XSS insieme alle altre categorie.