Foro de elhacker.net

Seguridad Informática => Bugs y Exploits => Mensaje iniciado por: Locky20 en 26 Septiembre 2012, 15:15 pm



Título: Modificacion a inyeccion SQL
Publicado por: Locky20 en 26 Septiembre 2012, 15:15 pm
Buenas estuve probando un metodo de inyeccion sql de foros vb, lo cual funciona bien es mas o menos de esta forma

process&searchthreadid=cat[0]=1) UNION SELECT concat(username,0x3a,email,0x3a,password,0x3a,salt) FROM user WHERE userid=1#


cambiando el userid puedo hacer que me bote el hash y el salt de cualquier usuario pero quisiera hacerlo mas global, es decir hacer la inyeccion de tal forma que me bote el hash de todos los usuarios o al menos indicar una gran cantidad pero no se me ocurre, me parece que la clave estaria en volver dinamico el userid=1# pero no se me ocurre como indicarle que saque los hash y salt de un rango de usuarios

Alguna idea  :rolleyes:

Saludos  ;D


Título: Re: Modificacion a inyeccion SQL
Publicado por: Søra en 26 Septiembre 2012, 21:08 pm
pasamos de: concat ----> group_concat

un saludo.


Título: Re: Modificacion a inyeccion SQL
Publicado por: Locky20 en 27 Septiembre 2012, 05:38 am
Gracias por responder, bueno estuve probando y efectivamente se puede imprimir varios usernames y hashes, etc pero me di cuenta de que solo me imprime un puñado y leyendo di con que la funcion group_concat tiene un limite de 1024 caracteres 

Como no tengo acceso a los archivos del servidor no puedo modificar ese limite  :¬¬

tambien vi que con esta orden SET GLOBAL group_concat_max_len=4096 se puede modificar pero por mas que lo adecuo a la inyeccion siempreme bota error

haciendo experimentos tambien note que cambiando la inyeccion a &cat[0]=1) UNION SELECT concat(username) FROM user# me imprime todos los nombres de usuario, pero si cambio para que me muestre los hash o email se produce error en una linea del php y la unica forma es usando group_cancat pero como dije tiene un limite

Alguna idea o sugerencia

Saludos  ;D


Título: Re: Modificacion a inyeccion SQL
Publicado por: darkvidhack en 2 Enero 2013, 01:18 am
Hola, asegúrate de que estás insertando bien el texto, ya que con

SELECT concat(username,0x3a,email,0x3a,password,0x3a,salt) FROM user

debería mostrarte las columnas que pides de todos los usuarios

Saludos


Título: Re: Modificacion a inyeccion SQL
Publicado por: Shell Root en 2 Enero 2013, 05:05 am
No porque la consulta "debería" mostrar todos los registros, se supone que los mostraría. Si para el campo que es vulnerable, el programador le asigno que solo devolviera un tamaño maximo de caracteres obviamente este no los va a mostrar completos.

No al ejecutar una iSQL se van a mostrar todos los registros, acaso es una consola de mysql :p