Foro de elhacker.net

Seguridad Informática => Nivel Web => Mensaje iniciado por: fede_cp en 1 Julio 2009, 22:34 pm



Título: Problemas sql injection
Publicado por: fede_cp en 1 Julio 2009, 22:34 pm
buen estaba haciendo una sql injection y se me presento el siguiente problema:

busco el nombre de tablas y el nombre va separado en guiones por ejemplo: sql-inection-ejemplo y despues sigo buscando tablas y si por ejemplo tiene una sola palabra entonces va asi: --ejemplo y si tiene dos palabras va : -sql-injection

ahora cuando quiero seleccionar la tabla para buscar las columnas no se que ascii poner, por ejemplo para --ejemplo,tendria que poner:

-1 union all select 1,column_name,1,2,5,6,8,9 from information_schema.columns where table_name = char(0150,0150,101,106,101,109,112,108,111) and column_name
like char(37,97,37)

donde los 0150 son los guiones, pero ahora hay algo mal ahi, no me tira error sino que no me aparece nada y si le pongo otros caracteres al nombre de la table tmapoco me aparece ningun error.

quiero saber que es lo que estoy haciendo mal


un saludo


Título: Re: Problemas sql injection
Publicado por: fede_cp en 2 Julio 2009, 01:42 am
Bueno hay algunos datos mas, donde se imprimen los datos hay fechas...ahora tiene todo un poco mas de logica

osea que donde se imprimen los datos noramlmente irian mensajes tipo: 16-23-23 es por eso que los datos salen ejemplo-sql, que caracter sera lo que separa, supongo que espacios


adios


Título: Re: Problemas sql injection
Publicado por: MagnoBalt en 2 Julio 2009, 20:09 pm
Hola como va fede_cp. La inyeccion con decimal esta mal.
1) El guion (-) en decimal es "45", no es es 0150 como pones vos.
2) Por que mejor no sacas todas las columnas de esa tabla con group_concat y listo.
ejemplo

-1 union all select 1,group_concat(column_name),1,2,5,6,8,9 from information_schema.columns where table_name = char(45,45,101,106,101,109,112,108,111)

eso te mostrara todas las columans de la tabla --ejemplo

Saludos. Espero te sirva


Título: Re: Problemas sql injection
Publicado por: fede_cp en 2 Julio 2009, 20:37 pm
Gracias magno pero, el problema no era ese sino que donde iba la fecha aceptaba máximo 6 caracteres ejemplo 12-34-5678, entonces no terminaba el nombre de la tabla y encima salian las palabras desordenadas

lo que hice y fue lo mas lógico es cambiar el lugar donde se imprimen los datos y listo. muchas gracias por la ayuda

PD: Ya habia probado con 45, pero tenía las magic quotes en on asique no necesite el ASCII, igualmente gracias


adios


Título: Re: Problemas sql injection
Publicado por: WHK en 4 Julio 2009, 04:27 am
te iba a escribir lo mismo que dijo magnobalt pero es tarde  :P char(45)

Como te restringe la cantidad de carácteres no queda otra que verificar si tiene alguna otra variable vulnerable ya que si la dejó pasar en una fecha significa que el programador pudo haber cometido el mismo error en otras variables. Si tambien tienes limites de carácteres pero por lo menos alcanzas a escribir algo poco puedes intentar un load_file() y cargar la query desde un txt remoto que en este caso puede estar en tu localhost.


Título: Re: Problemas sql injection
Publicado por: fede_cp en 4 Julio 2009, 04:56 am
jeje pero WHK, el programador cometió el error en todos los codes jajaja, era como tener un libro de datos "secretos" al alcanze de la mano

ejje
un saludo y gracias por la ayuda