Test Foro de elhacker.net SMF 2.1

Seguridad Informática => Bugs y Exploits => Hacking => Nivel Web => Mensaje iniciado por: Erfiug en 15 Julio 2010, 22:49 PM

Título: backslash delante de cada comilla y doble comilla, seguro?
Publicado por: Erfiug en 15 Julio 2010, 22:49 PM
Estoy buscando vulnerabilidades en una aplicación que envía el user input a una base de datos mysql, delante de cada carácter especial añade un backslash, se considera esto 100% seguro frente inyeccions sql? O hay algú modo de vulnerarlo?



gracias.
Título: Re: backslash delante de cada comilla y doble comilla, seguro?
Publicado por: braulio-- en 16 Julio 2010, 00:11 AM
Depende de como sea la consulta SQL , imagina algo así :

SELECT * FROM news WHERE id=$id

La protección esa no serviría de nada . Si además necesitas cadenas de texto literales puedes usar la función char() por ejemplo.

Todo depende de como esté ejecutada la consulta.
Título: Re: backslash delante de cada comilla y doble comilla, seguro?
Publicado por: Erfiug en 16 Julio 2010, 01:16 AM
La query en cuestión contiene la información de un formulario, y es del tipo:

INSERT INTO TABLE (col1, col2, col3) VALUES ('loquesea1', 'lo\'que\'sea\'3', '111')


saludos.
Título: Re: backslash delante de cada comilla y doble comilla, seguro?
Publicado por: braulio-- en 16 Julio 2010, 13:05 PM
Ahí ya me parece que sí es inexplotable.
Título: Re: backslash delante de cada comilla y doble comilla, seguro?
Publicado por: s E t H en 18 Julio 2010, 00:30 AM
escapa tambien tus barras invertidas? cuantas partes controlas?
si no las escpapa y controlas dos o mas strings, podes hacer esto:
NSERT INTO TABLE (col1, col2, col3) VALUES ('loquesea1', 'loquesea3\', '/* sql aca */111')
hay que rebuscarse un poco para que no quede el sql roto
Título: Re: backslash delante de cada comilla y doble comilla, seguro?
Publicado por: Erfiug en 18 Julio 2010, 03:47 AM
Cita de: s E t H en 18 Julio 2010, 00:30 AM
escapa tambien tus barras invertidas? cuantas partes controlas?
si no las escpapa y controlas dos o mas strings, podes hacer esto:
NSERT INTO TABLE (col1, col2, col3) VALUES ('loquesea1', 'loquesea3\', '/* sql aca */111')
hay que rebuscarse un poco para que no quede el sql roto
Sí, a todos los carácteres especiales se les añade un \, pero bien pensado de todos modos.