backslash delante de cada comilla y doble comilla, seguro?

Iniciado por Erfiug, 15 Julio 2010, 22:49 PM

0 Miembros y 1 Visitante están viendo este tema.

Erfiug

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.

braulio--

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.

Erfiug

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.

braulio--


s E t H

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

Erfiug

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.