Si la se encuentra implementado de esta forma:
consulta:= "SELECT * FROM usuarios
WHERE nombre = '" + nombreUsuario + "';"
el atacante podría escribir:
"Pepe'; DROP TABLE usuarios; SELECT * FROM datos
",
WHERE nombre LIKE '%
(teniendo en cuenta que Pepe es válido)
se ejecutaría:
SELECT * FROM usuarios WHERE nombre = 'Pepe';
DROP TABLE usuarios;
SELECT * FROM datos WHERE nombre LIKE '%';
(borraría la tabla 'usuarios' y seleccionaría datos que
quizá no están disponibles para los usuarios web comunes)
La solución al SQL Injection es la verificación de todos los parámetros y consultas hacia la base de datos.
0 comentarios:
Publicar un comentario