SQL Injection: i 5 migliori tool per individuarle

di: Andrea Draghetti     03 Gennaio 2012

SQL Injection è la principale tecnica sfruttata per colpire una applicazione web basata su un database di tipo SQL, potrebbe consentire ad un malintenzionato di manipolare in maniera opportuna i dati sui quali opera un sito Internet o un'applicazione riuscendo talvolta ad accedere ai dati sensibili. Un'analisi preventiva con software adeguati, potrebbe scongiurare pericolosi attacchi dall'esterno.

L'exploit si basa su una scrittura "imprecisa" del codice da parte dello sviluppatore, sono soggette ad attacchi di tipo SQL Injection le principali applicazioni web non correttamente verificate da parte dello sviluppatore. In questo articolo non ci soffermeremo sulle basi della tecnica ma andremo ad analizzare i principali software Open Source in grado di individuare una falla di SQL Injection.

SQLMap

SQLMap
(clic per ingrandire)

SQLMap

SQLMap è un software in grado di automatizzare il processo di individuazione e di sfruttamento delle falle di SQL Injection, sviluppato in Python e Open Source inoltre ha la peculiarità di essere multi piattaforma, richiede l'interprete Python per la corretta esecuzione. Supporta i principali server SQL tra i quali MySQL, Oracle, PostgreSQL, Microsoft SQL Server, Microsoft Access, SQLite, Firebird, Sybase e SAP MaxDB.

SQLMap offre risorse veramente infinite e il suo uso è alquanto sofisticato, in questo articolo ci concentreremo sui comandi basi, lasciando a voi la facoltà di approfondire l'utilizzo attraverso il manuale molto completo disponibile sul sito ufficiale. Un primo approccio al software può essere ottenuto digitando il comando "python sqlmap.py -h" da riga di comando nel proprio sistema operativo, questo comando restituisce l'help di SQLMap contenente tutte le opzioni disponibili per l'uso del programma.

Per iniziare ad analizzare un applicativo web è possibile digitare da riga di comando la seguente istruzione, specificando dopo l'opzione "-u" la risorsa che vogliamo analizzare:

python sqlmap.py -u http://www.applicativoweb.com/mysql/risorsa.php?id=1

Attraverso i cinque livelli di output è possibile visualizzare lo stato dell'analisi, basterà indicare attraverso il comando verbosity il livello preferito (es. -v 1):

python sqlmap.py -u http://www.applicativoweb.com/mysql/risorsa.php?id=1 -v 1

È inoltre possibile analizzare un intero sito internet andando alla ricerca di tutte le possibili vulnerabilità, questa funzione è possibile grazie all'integrazione con il motore di ricerca Google attraverso il seguente comando:

python sqlmap.py -g "site:applicativoweb.com ext:php"

SQLMap procederà ad analizzare i primi 100 risultati riportati da Google relativi al dominio specificato, alla ricerca di risultati contenenti richieste di tipo GET, per poter procedere alla verifica di possibili vulnerabilità. Infine è possibile personalizzare il livello di test attraverso l'opzione "--level=X" dove specificheremo 1 per un test rapido fino al valore 5 per un test più accurato.

Guide Sicurezza

Guida SQL Injection con Sqlmap

Scopriamo se le nostre applicazioni web sono vulnerabili alle SQL...

Guida sicurezza applicazioni Web

Le tecniche di attacco più comuni, i metodi per verificare la...

Guida Sicurezza wireless

Quali sono i pericoli di sicurezza di una rete senza filo e quali...

Altre guide

Newsletter @Sicurezza

Ogni lunedì, direttamente nella tua e-mail: approfondimenti e bollettini su virus, vulnerabilità e sicurezza informatica.

Iscriviti alla newsletter

Altre newsletter

Corsi in aula

Amministratore di Reti Windows Server 2008

11 Giugno 2012 a Milano
Disponibilità: 5 Posti

Nessun corso previsto