BorderGame
SQL Injection ( Teoria e pratica ) - Versione stampabile

+- BorderGame (https://www.bordergame.it)
+-- Forum: Console e Tecnologia (/Forum-Console-e-Tecnologia)
+--- Forum: Hacking (/Forum-Hacking)
+--- Discussione: SQL Injection ( Teoria e pratica ) (/Thread-SQL-Injection-Teoria-e-pratica)



SQL Injection ( Teoria e pratica ) - Lawliet - 03-12-2011 11:02 PM

Ecco uno script in PHP, per farvi capire come funziona l'SQL Injection.

Per poter utilizzare questo script è necessario avere :
- Conoscenza del PHP ( un minimo di conoscenza, nel caso in cui riscontriate errori di punteggiatura o altro.. anche se non credo ! )

- Conoscenza del MySQL ( anche qui basta un minimo di conoscenza, poiché la tabella è già stata creata, andrà solamente importata )

- Notepad++ ( o un altro editor )

- WAMP ( Potete utilizzare anche XAMPP o altri programmi simili )

( Premetto che non mi metterò a spiegare come installare e come configurare i vari programmi )

Installate WAMP ( o il software che avete scelto ) e settate tutti i parametri.
Ricordate di abilitare PhpMyAdmin.

Una volta settati tutti i parametri, passiamo alla configurazione dello script !

Download:
1_ http://www.megaupload.com/?d=6C8KNXRP
2_ http://www.mediafire.com/?1b30t71pu529ge7

Prima di tutto dovete estrarre i file in un'unica cartella
( Con XAMPP dovrete utilizzare la cartella htdocs, se non erro. Mentre con WAMP dovrete utilizzare la cartella www )

Aprite il file 'index.php' e assicuratevi che tutto funzioni ( dovrete visualizzare una schermata di login, se visualizzerete una pagina bianca, controllate il link e assicuratevi di aver avviato il programma )

Citazione:http://localhost/sql/index.php

Il link esatto è questo, se avete estratto la cartella 'sql' direttamente in 'www' ( per wamp ).


Adesso che abbiamo la conferma che i file funzionino, andiamo sul pannello PhpMyAdmin e creiamo un nuovo Database.

Il nome del Database è 'sqlinj' ( senza apici ' ' ).

Tuttavia è possibile dare un altro nome al Database, l'importante è cambiarlo nel file mysql_connect.php

Importiamo il file utenti.sql nel nostro Database appena creato.

Come noterete, all'interno della tabella 'utenti' è già presente un utente di default.

Citazione:username = admin
password = password

Passiamo alla configurazione del file mysql_connect.php

Citazione:$conn= mysql_connect('localhost','root','') or die (mysql_error());
mysql_select_db ('sqlinj',$conn) or die (mysql_error());

La connessione avviene così :

Server, Username, Password

Il server è il server che si trova in locale, quindi è localhost

Se non avete cambiato le impostazioni ( sia su XAMPP, che su WAMP ) username e password di default sono :

Citazione:username = root
password = nessuna password

La selezione, invece, avviene nel seguente modo :

Nome del Database, connessione

Quindi, come avrete intuito, 'sqlinj' è il nome del Database nel quale abbiamo importato la nostra tabella utenti.


Adesso che tutte le impostazioni sono state settate correttamente, è arrivato il momento di accedere con l'user 'admin'.

Effettuiamo l'accesso con

[quote]username = admin
password = password[quote]

per verificare se il login funziona correttamente.

Adesso effettuiamo il logout e tentiamo una SQL Injection.
All'interno del file 'login.php' vi sono tutte le spiegazioni su come fare.

Attenzione:
La guida è solo a scopo informativo, non mi assumo nessuna responsabilità, di ciò che fate.

Crediti a InfernoHacker ^^