Ataques por injeção de encomendas SQL Angriffe durch die Einschleusung von SQL Befehlen Attaques par injection de commandes SQL Ataques de inyección SQL SQL injection attacks

Iniezione di comandi SQL

Gli attacchi da iniezione di comandi SQL sono degli attacchi verso i siti web che si appoggiano su database relazionali.

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

In effetti, alcuni caratteri permettono di scatenare numerose richieste SQL oppure di ignorare il seguito della richiesta. Così, inserendo questo tipo di caratteri nella richiesta, un pirata può potenzialmente eseguire la richiesta da lui scelta.

Prendiamo ad esempio la richiesta seguente, utilizzando come parametro un nome d'utilizzatore :

SELECT * FROM utilizzatori WHERE nome="$nome";

Ad un pirata basterà inserire un nome come « toto" OR 1=1 OR nome ="titi » per far diventare la richiesta come segue :

SELECT * FROM utilizzatori WHERE nome="toto" OR 1=1 OR nome ="titi";

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

Procedure immagazzinate

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

blocchi

Alcune regole permettono di premunirsi dagli attacchi da iniezione da comandi SQL :

  • Verificare il formato dei dati inseriti e soprattutto la presenza di caratteri speciali ;
  • Non visualizzare messaggi di errore espliciti che riportino la richiesta o una parte della richiesta SQL.
  • Cancellare gli account utilizzatori non usati, soprattutto gli account di dwfault ;
  • Evitare gli account senza password ;
  • Ridurre al minimo i privilegi degli account utilizzati ;
  • Cancellare le procedure immagazzinate ;


Ultime modificazione ilvenerdì 6 febbraio 2009 alle 16:52:03.Questo documento intitolato «  » da Kioskea (it.kioskea.net) è reso disponibile sotto la licenza Creative Commons. È possibile copiare, modificare le copie di questa pagina, alle condizioni previste dalla licenza, come questa nota appare chiaramente.
Migliori risposte per « Attacchi da iniezione di comandi SQL » in :
Linux - Lo shell Vedi Introduzione allo shell L'interprete di comandi è l'interfaccia tra l'utente e il sistema operativo, da cui il suo nome in inglese «shell», che significa «conchiglia». Lo shell è così incaricato di fare da intermediario tra il sistema operativo...
Sistemi UNIX - Lo shell Vedi Introduzione allo shell L'iterprete di comandi è l'interfaccia tra l'utente e il sistema operativo, da cui il suo nome inglese «shell», che significa «conchiglia». Lo shell è quindi incaricato di fare da intermediario tra il sistema operativo e...
Attacchi da saturazione del buffer (buffer overflow) Vedi Introduzione al buffer overflow Gli attacchi da « saturazione del buffer » (in inglese « Buffer overflow », talvolta detti anche superamento del buffer) hanno per principio l'esecuzione di codici arbitrari attraverso un programma inviandogli più...
[Windows XP] Punto di ripristino Vedi*1 - Punti di ristrutturazione e dati personali *2 - Verificare il service *3 - Impostare le partizioni da ripristinare *4 - Nota *5 - Dimensione del backup e pulizia *6 - Creare un punto di ripristino *7 - Ripristinare un punto di...
SHELL BASH - GUIDA Livello Principiante VediIntroduzione II. Cosa è la shell ? III. Come accedere alla linea di comando IV. Le console virtuali Esempio : Accedere alla console 3 dall'interfaccia grafica V. Connessione dentro una console virtuale Esempio: VI. Il prompt di comandi...
Creazione di un'immagine Sistema (Ghost) VediCreare un'immagine (ghost) di partizione 1 - Interesse 2 - Prerequisiti 2.1 - Spiegazione 2.2 - Opportunità delle partizioni 2.3 - Aggiornamento delle immagini 2.3.1 - Immagine Incrementali: interessante, ma pericoloso! 2.3.2 - Immagine...
Attacchi da falsificazione di dati VediLa maggiorparte degli attacchi d'applicazioni web consistono nel sollecitare il sito con i dati inseriti manualmente per provocare un contesto non previsto. Parametri delle applicazioni web Il protocollo HTTP, supporto della comunicazione sul...
Attacco da rifiuto del servizio VediIntroduzione agli attacchi da rifiuto del servizio Un « attacco da blocco di servizio » (in inglese « Denial of Service », abbreviato in DoS) è un tipo d'attacco che mira a rendere indisponibili per un lasso di tempo indeterminato i servizi o le...
La gestione degli utenti su Windows NT VediLa nozione di utente WindowsNT è un sistema operativo che permette di gestire delle sessioni, cioè alll'avvio del sistema è necessario al sistema ( loggarsi ) grazie ad un nome utente e una password.Da default, all'installazione di Windows NT,...