Attacchi SQL injection

Novembre 2016
Gli attacchi SQL injection sono degli attacchi verso i siti web che si appoggiano su database relazionali.


SQL injection

In questo tipo di siti, alcuni parametri sono passati al database sotto forma di una query SQL. In questo modo, se il webmaster non ha effettuato nessun controllo sui parametri passati nella query SQL, sarà possibile per un pirata modificare la query per accedere alla totalità del database, fino a modificarne il contenuto.

In effetti, alcuni caratteri permettono di scatenare numerose query [ SQL oppure di ignorare il seguito della query. Così, inserendo questo tipo di caratteri nella query, un pirata può potenzialmente eseguire la query da lui scelta. Prendiamo ad esempio la query seguente, aspettando come parametro un nome utente:
SELECT * FROM utenti WHERE nome="$nome";


Ad un pirata basterà inserire un nome come "toto" OR 1=1 OR nome ="titi" e la query cambia come segue:
SELECT * FROM utenti WHERE nome="toto" OR 1=1 OR nome ="titi";


In questo modo, con la query qui sopra, la clausola WHERE è sempre rispettata, il che significa che girerà le registrazioni corrispondenti a tutti gli utenti.

Procedure immagazzinate

In aggiunta, alcuni sistemi di gestione di database come Microsoft SQL Server possiedono delle procedure immagazzinate che permettono di lanciare dei comandi di amministratore. Queste procedure immagazzinate sono potenzialmente pericolose nella misura in cui possono permettere ad un utente malintenzionato di eseguire dei comandi di sistema, che possono portare ad un'eventuale intrusione.

blocchi

Alcune regole permettono di premunirsi dagli attacchi SQL injection:


Verificare il formato dei dati inseriti e soprattutto la presenza di caratteri speciali;

Non visualizzare messaggi di errore espliciti che riportino la query o una parte della query SQL;

Cancellare gli account utenti non usati, soprattutto gli account di default;

Evitare gli account senza password;

Ridurre al minimo i privilegi degli account utilizzati;

Cancellare le procedure immagazzinate.

Potrebbe anche interessarti :

SQL injection attacks
SQL injection attacks
Ataques de inyección SQL
Ataques de inyección SQL
Attaques par injection de commandes SQL
Attaques par injection de commandes SQL
Ataques por injecção de comandos SQL
Ataques por injecção de comandos SQL
Il documento intitolato « Attacchi SQL injection » da CCM (it.ccm.net) è reso disponibile sotto i termini della licenza Creative Commons. È possibile copiare, modificare delle copie di questa pagina, nelle condizioni previste dalla licenza, finché questa nota appaia chiaramente.