SQL Injection: i 5 migliori tool per individuarle (versione per ... http://sicurezza.html.it/articoli/stampa/3882/sql-injection-i-5-... SQL Injection: i 5 migliori tool per individuarle 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) (http://html.it/articoli /3882/sqlmap.jpg) SQLMap (http://sqlmap.sourceforge.net/) è 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: 1 di 5 04/04/12 00:00 SQL Injection: i 5 migliori tool per individuarle (versione per ... http://sicurezza.html.it/articoli/stampa/3882/sql-injection-i-5-... 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. Sqlninja Sqlninja (http://sqlninja.sourceforge.net/) è un software nato in Italia grazie all'idea di Alberto Revelli in grado di sferrare attacchi di tipo SQL Injection a sistemi basati su Microsoft SQL Server. Il tool permette di effettuare un attacco forza bruta per determinare la password di amministratore di sistema, un escalation per aggiungere un utente con i medesimi privilegi dell'amministratore, un fingerprint del server, un port scanning per determinare eventuali porte di sistema aperte e un tunneling attraverso la porta DNS oppure ICMP quando tutte le porte TCP/UDP sono chiuse ma il server risolve i nomi di host esterni. Sqlninja (clic per ingrandire) (http://html.it/articoli /3882/sqlninja.jpg) Per iniziare ad utilizzare l'utility è necessario ottenere l'esatto HTTP Request dell'applicativo web che 2 di 5 04/04/12 00:00 SQL Injection: i 5 migliori tool per individuarle (versione per ... http://sicurezza.html.it/articoli/stampa/3882/sql-injection-i-5-... vogliamo analizzare, per ottenerlo possiamo utilizzare un semplice Proxy come Burp Suite o Owasp Zed Attack Proxy. Http Request dovrà essere riportato integralmente nel file di configurazione di sqlninja denominato sqlninja.conf senza dimenticarsi i marcatori "--httprequest_start--" e "--httprequest_end--" prima e dopo la nostra stringa. Inizieremo ad effettuare un primo test della configurazione precedentemente impostata digitando il comando: sqlninja -mode test Se l'esito è positivo possiamo procedere ad effettuare un attacco tra le varie modalità proposte (fingerprint bruteforce, escalation, ecc ecc) oppure dovremo verificare il contenuto del file di configurazione. Havij Havij (clic per ingrandire) (http://html.it/articoli/3882/havij.jpg) Havij (http://itsecteam.com/en/projects/project1.htm) è uno dei principali software dotati di una veste grafica (GUI) compatibile con i sistemi operativi Windows e distribuita nella licenza gratuita o commerciale, nella prima vengono imposte alcune limitazioni come l'impossibilità di effettuare un Blind MsSQL oppure l'impossibilità di verificare un database Oracle e tante altre piccole restrizioni. L'utilizzo di questo software è alla portata di tutti grazie al confortevole supporto grafico basterà infatti digitare nel campo "target" il sito Internet dell'applicativo web da verificare selezionare se le richieste dovranno essere inviate con il metodo GET o POST e avviare l'analisi semplicemente cliccando sul pulsante "Analyze"; nel riquadro Status avremo a disposizione tutte le informazioni sull'avanzamento della procedura di attacco. W3AF W3AF (http://w3af.sourceforge.net/) è un ottimo web scanner Open Source in grado di individuale 3 di 5 04/04/12 00:00 SQL Injection: i 5 migliori tool per individuarle (versione per ... http://sicurezza.html.it/articoli/stampa/3882/sql-injection-i-5-... diverse vulnerabilità in un applicazione web, tra queste vi è anche l'individuazione di falle di tipo SQL Injection. W3af è software scritto in python e compatibile sia per sistemi Linux, Window e Mac e gode di un'ottima interfaccia grafica ma per i più nostalgici è possibile usarlo anche da riga di comando. W3AF (clic per ingrandire) (http://html.it/articoli /3882/w3af.jpg) All'interno de software vi sono diverse categorie le quali rendono più comprensibile la distinzione delle vulnerabilità, nel nostro caso dovremo selezionare l'opzione SQLi all'interno della categoria "Audit" una volta impostato il sito target sarà possibile avviare la scansione. Per chi preferisce effettuare una scansione da riga di comando potrà richiamare w3af digitando il comando "w3af_console". SQLiX SQLiX (clic per ingrandire) 4 di 5 04/04/12 00:00 SQL Injection: i 5 migliori tool per individuarle (versione per ... http://sicurezza.html.it/articoli/stampa/3882/sql-injection-i-5-... (http://html.it/articoli /3882/sqlix.jpg) SQLiX (https://www.owasp.org/index.php/Category:OWASP_SQLiX_Project) è un software sviluppato dalla OWASP scritto in Perl dedicato alla ricerca dei vettori per sferrare un attacco di tipo SQL Injection. La facilità di utilizzo di questa utility è veramente estrema basterà infatti digitare dalla shell il seguente comando per iniziare ad effettuare un test sull'applicativo web prescelto: perl SQLiX.pl -url http://www.applicativoweb.com/mysql/risorsa.php?id=1 SQLix permette anche di personalizzare la scansione selezionando quale metodo di iniezione preferiamo attraverso il comando -method, per qualsiasi altro dubbio basterà lanciare il comando -help per visualizzare a monitor tutte le istruzioni e loro specifiche. Versione originale: http://sicurezza.html.it/articoli/leggi/3882/sql-injection-i-5-migliori-tool-perindividuarle/ © 1997-2006 HTML.it La vendita, il noleggio, il prestito e la diffusione del contenuto di questa pagina sono vietate, tranne nei casi specificati nella pagina http://www.html.it/info/note-legali.php 5 di 5 04/04/12 00:00