Ver Mensaje Individual
  #24  
Antiguo 16-04-2012
Avatar de Chris
[Chris] Chris is offline
Miembro Premium
 
Registrado: abr 2007
Ubicación: Jinotepe, Nicaragua
Posts: 1.678
Reputación: 18
Chris Va por buen camino
Cita:
Empezado por Delphius Ver Mensaje
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
__________________
Perfil Github - @chrramirez - Delphi Blog - Blog Web
Responder Con Cita