sql injection
Qué
es?
Como actúa
Protegerse o evitar
Qué es?
Se llama SQL Injection a una vulnerabilidad
informática en el nivel de base de datos de una
aplicación dinámica. Elorigen es el filtrado
incorrecto de las variables utilizadas en las partes
del programa con código embebido SQL.
Dónde ocurre?
La intrusión ocurre durante la ejecución del programa
vulnerable, yasea, en computadores de escritorio o bien
en sitios web, en éste último caso obviamente
ejecutándose en el servidor que los aloja.
Como actúa
Se dice que existe o se produjo una inyección
SQLcuando, de alguna manera, se inserta o "inyecta"
código SQL invasor dentro del código SQL programado,
a fin de alterar el funcionamiento normal del programa y
lograr así que se ejecute la porciónde código "invasor"
incrustado, en la base de datos.
Cómo funciona?
La vulnerabilidad se puede producir automáticamente
cuando un programa "arma descuidadamente" una sentencia
SQL en tiempo deejecución, o bien durante la fase de
desarrollo, cuando el programador explicita la sentencia SQL a
ejecutar en forma desprotegida. En cualquier caso, siempre
que el programador necesite y hagauso de parámetros a
ingresar por parte del usuario, a efectos de consultar una base
de datos; ya que, justamente, dentro de los parámetros es
donde se puede incorporar el código SQL intruso.
Cómofunciona?
Al ejecutarse la consulta en la base de datos, el código
SQL inyectado también se ejecutará y podría hacer un
sinnúmero de cosas, como insertar registros, modificar o
eliminar datos,autorizar accesos e, incluso, ejecutar otro
tipo de código malicioso en el computador.
Ejemplo :
asumiendo que el siguiente código reside en
una aplicación web y que existe un parámetro"nombreUsuario" que contiene el nombre de usuario a
consultar, una inyección SQL se podría provocar de la
siguiente forma:
Ejemplo :
El código SQL original y vulnerable es:
consulta :
"SELECT *...
Regístrate para leer el documento completo.