Problema de seguridad – Inyección SQL

La inyección SQL, es un mecanismo permite al atacante inyectar código SQL dentro del propio código SQL programado, tratándose generalmente de un código SQL programado dinámico.

Ejemplo de inyección SQL que explicar esta vulnerabilidad.

v_consulta := 'SELECT * FROM ventas.tb_client WHERE client_id = '  + code_id + ';'

Si el valor proporcionado es 1 la consulta devuelve los datos del cliente con código 1

v_consulta := 'SELECT * FROM ventas.tb_client WHERE client_id = 1;'

Si por el contrario se introduce un código malicioso tipo “1; SELECT * FROM ventas.tb_client” estaríamos permitiendo mostrar todos los datos que tiene nuestra base de datos de clientes.

v_consulta := 'SELECT * FROM ventas.tb_client WHERE client_id = 1; SELECT * FROM ventas.tb_client;

 

Autor: Diego Calvo