Foro de elhacker.net

Seguridad Informática => Nivel Web => Mensaje iniciado por: IWKY en 24 Octubre 2009, 20:16 pm



Título: Se puede inyectar sql en este bug???
Publicado por: IWKY en 24 Octubre 2009, 20:16 pm
Hola, iba hacer una búsqueda de hoteles en una web y descrubri que el formulario de búsqueda de hoteles es vulnerable a la inyección sql, la cuestión es que la bbdd esta sobre access y ahí es donde tengo el problema, porque según he leído access no posee comentarios, así que no puedo intercalar código sql, ahora les expongo como esta cosa.

La consulta se hace de la siguiente manera.

Hotel LIKE '%$input%'

Suponiendo que el $input es la entrada desde el formulario directamente sin filtrar, ¿como puedo hacer desaparecer %'? ya que para cerrar el like si que puedo pero si hago un having o una subconsulta el %' me toca los ...
He probado por si las moscas pero sin exito, //, /*, #, --, null y nada no consigo cortar ahí la sentencia sql, ¿alguien sabría como?

Saludos.


Título: Re: Se puede inyectar sql en este bug???
Publicado por: WHK en 24 Octubre 2009, 21:38 pm
Intenta así:
Citar
' union select 1,2,3,4,5,6 where hotel like '

debería quedar:
Código
  1. Hotel LIKE '%' UNION SELECT 1,2,3,4,5,6 WHERE hotel LIKE '%'


Título: Re: Se puede inyectar sql en este bug???
Publicado por: IWKY en 26 Octubre 2009, 00:22 am
Pero ahí falta la clausula from para saber de que tabla hay que coger los datos, por eso quería hacer un having para forzar el error y que me diera el nombre de la tabla.

EDITO:
Ya he descubierto el nombre de la tabla, solo era un poco de deducción :xD


Título: Re: Se puede inyectar sql en este bug???
Publicado por: WHK en 26 Octubre 2009, 03:45 am
el having para mostrar columnas funciona solamente en mssql no en mysql


Título: Re: Se puede inyectar sql en este bug???
Publicado por: IWKY en 26 Octubre 2009, 13:27 pm
Ok, pero la bbdd esta en access, y no en mysql, de todas formas ahora estoy tratando de encontrar el número de columnas, porque me dice que en la unión no coincide el número de columnas, porque viendo los datos que se muestran en la web al hacer una búsqueda, calculo que la tabla tiene 26 campos, pero
Código
  1. ' union select 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26 from Tabla where Hotel like '
Pero sigue dando error así que me falta encontrar el numero de columnas.