Iniezione SQL
Una vulnerabilità in cui l'input dell'utente viene aggiunto direttamente a una query al database, permettendo all'attaccante di modificare la query per leggere o eliminare dati.
- 01
Perché è importante
L'iniezione SQL è una delle vulnerabilità più vecchie tra quelle note, ma compare ancora; se riesce, dati sui clienti, password e ordini possono uscire tutti in una volta. Compare soprattutto in vecchio codice scritto a mano e in funzioni di ricerca o filtri aggiunti di fretta. Le query parametrate chiudono questo rischio alla radice.
- 02
Esempio
Il testo digitato nella casella di ricerca prodotti di un negozio viene aggiunto direttamente alla query. Digitando nella casella un'espressione studiata ad hoc, l'attaccante fa comparire la tabella degli utenti al posto dell'elenco dei prodotti.
- 03
Errore comune
Pensare di essere al sicuro perché l'input viene ripulito a mano o perché vengono rimossi gli apici. Il modo sicuro è rappresentato dalle query parametrate, in cui l'input viene inviato separatamente dalla query, oppure da una libreria di database affidabile.
- 04
Termini correlati
Servizi e guide correlati
Parliamo del tuo progetto.
Raccontaci la tua esigenza; definiremo insieme l'ambito.