Documente Academic
Documente Profesional
Documente Cultură
Inyeccin SQL
Es un mtodo de infiltracin de cdigo intruso que se vale de una
vulnerabilidad informtica presente en una aplicacin en el nivel de
validacin de las entradas para realizar operaciones sobre una base de
datos.
La inyeccin de cdigo SQL es un ataque en el cual se inserta cdigo
malicioso en las cadenas que posteriormente se pasan a una instancia de
SQL Server para su anlisis y ejecucin. Todos los procedimientos que
generan instrucciones SQL deben revisarse en busca de vulnerabilidades de
inyeccin de cdigo, ya que SQL Server ejecutar todas las consultas
recibidas que sean vlidas desde el punto de vista sintctico. Un atacante
cualificado y con determinacin puede manipular incluso os datos con
parmetros.
Un ataque de este tipo puede dar acceso a alguien y sin ningn tipo de
restriccin a una base de datos completa e incluso copiar o modificar la
informacin.
Solucin ante las amenazas
Podemos realizar un anlisis de nuestro cdigo con el uso de herramientas
que testen nuestras aplicaciones en busca de vulnerabilidades por inyeccin
SQL. Algunas de estas herramientas son:
a) SQLiHelper 2.7 SQL Injection: Se trata de una aplicacin cuyo
objetivo es facilitar la extraccin de informacin procedente de bases
de datos utilizando para ello tcnicas de inyeccin SQL. Una vez
indicada la url que queremos analizar, la aplicacin realizar
peticiones inyectando cdigo SQL con el fin de comprobar si es
realmente vulnerable.
b) Pangolin: Se trata de una herramienta de pago que ofrece ms
posibilidades que la vista en el punto anterior y que est destinada a
descubrir vulnerabilidades tanto del tipo inyeccin SQL como
inyeccin SQL ciego.
c) SQLMap: Se trata de una herramienta de pruebas de cdigo abierto
que automatiza el proceso de detectar y explorar los errores de
inyeccin SQL.
Controles para disminuir los riesgos ocasionados por las posibles
amenazas
A la hora de desarrollar una aplicacin, es muy complicado crear una
herramienta totalmente segura a las primeras de cambio. La falta de tiempo
y la intervencin de varios programadores para su desarrollo, son factores
que juegan en contra de la seguridad. A pesar de estos inconvenientes,
siempre se pueden tomar medidas de seguridad que nos ayuden a
desarrollar aplicaciones ms robustas, ajenas a este tipo de problemas.
Medidas para evitar sufrir el ataque por inyeccin de cdigo SQL:
Escapar los caracteres especiales utilizados en las consultas SQL