Guida a SQL Injection con Sqlmap

La SQL Injection è una tecnica di hacking che mira a colpire siti e applicazioni web che dialogano con database relazionali SQL, sfruttando le vulnerabilità dei controlli sui parametri in input ed inserendo codice malevolo all’interno delle query SQL (richieste di azione) effettuate sul database.

La SQL Injection gode di grande popolarità tra le tecniche utilizzate per bucare siti e applicazioni, questo grazie al fatto che non necessita di una grande conoscenza della rete, né di strumenti particolari per metterla in atto, bastano un browser ed una connessione ad internet.

Per rendere più semplice e veloce la SQL Injection, in questa guida, presenterò uno strumento da linea di comando chiamato Sqlmap.

 

Individuare il sito web vulnerabile

Questa è la parte più lunga e noiosa, ma indispensabile per raggiungere il nostro scopo.

Apriamo un browser e digitiamo nella barra di ricerca di Google: inurl:"index.php?id="

Questo è solo uno dei cosiddetti Google dorks disponibili, tramite una breve ricerca potrete trovarne a centinaia.

Fatto questo, la pagina di ricerca di Google vi fornirà svariate pagine con url simili al seguente: http://www.sitoweb.com/index.php?=1

Apriamo una delle pagine in questione. Una volta aperta, andiamo sulla barra degli indirizzi, aggiungiamo un apostrofo in fondo all’url della pagina http://www.sitoweb.com/index.php?id=1', e premiamo Invio. Se il sito visualizza un errore relativo al database, allora fa al caso nostro.

 

Elencare i database presenti

Finalmente iniziamo con la parte divertente! Apriamo una finestra di terminale e digitiamo sqlmap -u http://www.sitoweb.com/index.php?id=1 --dbs
Il tool inizierà a lavorare e dopo qualche secondo renderà i nomi dei database disponibili.

 

Enumerare le tabelle del database

Mettiamo, dopo avere lanciato il comando precedente, di avere trovato un database chiamato nome_db, per vedere le tabelle che contiene, scriviamo sqlmap -u http://www.sitoweb.com/index.php?id=1 -o --dbms MySql -D nome_db --tables

 

Mostrare i dati contenuti nelle colonne della tabella

Abbiamo avuto fortuna ed una delle tabelle del database si chiama users. Crediamo che al suo interno si trovino i nomi degli utenti che hanno accesso ad un’area riservata del sito in questione con le relative password. Chiaramente vogliamo scoprire quali sono, quindi lanciamo il comando sqlmap -u http://www.sitoweb.com/index.php?id=1 -o --dbms MySql -D nome_db -T users --columns --dump. Effettuando il dump dei dati della tabella riusciremo a visualizzare nel terminale tutte le righe inserite.

 

Conclusioni

Sql Injection con Sqlmap è un tipo di attacco estremamente semplice quanto potente, che dà la possibilità ad utenti della rete malintenzionati di visualizzare e manipolare dati privati ed ottenere l’accesso ad aree riservate dei siti web.

Il mio consiglio per i programmatori web è quello di effettuare sempre dei controlli sui dati in input, in particolare:

  • Controllo sul tipo di dato (Type casting)
  • Filtraggio dati mediante l’uso di espressioni regolari
  • Eliminazione o escape di caratteri potenzialmente dannosi

Baty’s Base


Stai cercando prodotti per l’hacking, la sicurezza informatica e il penetration testing? Hai bisogno di bonificare il tuo smartphone, il tuo pc o il tuo sito da virus e malware? Devi rintracciare una persona o recuperare delle informazioni urgenti? Devi riprendere possesso di un account, una mail o di una password che ti hanno sottratto? Vuoi acquistare device già configurati per sperimentare tutte le tecniche di hacking in modo facile e veloce? Hai esigenze particolari in ambito software o hardware? Possiamo aiutarti!

Contattaci subito per avere un aiuto immediato : dettagliaci tramite mail o Whatsapp che tipo di supporto ti occorre e ti invieremo un riscontro immediato!

Compila e invia il modulo qui sotto per inviarci subito una richiesta di supporto

Scrivi il tuo indirizzo email qui

Scrivi qui come possiamo aiutarti - ti supportiamo immediatamente per ogni tua esigenza!

chevron_left
chevron_right