Cita:
Empezado por Delphius
Yo algo de injección SQL he escuchado, leído e investigado pero no he dedicado tiempo como para ponerlo en análisis y pruebas. En lo que hace a aplicaciones de escritorio, si el usuario no tiene demasiadas posibilidades de meter dedo ¿nos libra de algún ataque?
Se escucha mucho hablar de injección SQL en el entorno web, es más las fuentes que estuve viendo de tu enlace se centra esto, pero hasta el momento no he visto algún artículo que hable de esto para aplicaciones de escritorio ¿Vale lo mismo?
Saludos,
|
Sí, vale igual.
Imagínate que tienes una ventana, en ella tienes un TEdit dónde se supone que el usuario ingresará un valor a buscar. En tu código la búsqueda la procesas así:
Código Delphi
[-]Query1.SQL.Text = ('select * from clientes where no_cliente = ' + Edit1.text);
Si el usuario ingresa "
101" en el TEdit, la consulta SQL anterior quedaría así:
select * from clientes where no_cliente = 102.
Pero supongamos que el usuario, en lugar de ingresar un número, ingresa en el TEdit algo cómo: "
102; delete from clientes where 1=1;", la consulta anterior quedaría así:
select * from clientes where no_cliente = 102; delete from clientes where 1=1;.
Es obvio lo devastador que resultaría esta consulta, no? Eso es inyección de SQL. Es hacer que tu aplicación ingenuamente ejecute código SQL arbitrario, sea cuál sea. Esta vulnerabilidad hace a tu aplicación quedar como una tonta que hace todo lo que le dicen sin poner reparo.
Saludos