Ciberseguridad

¿Qué es SQL Injection?

Descubre qué es SQL injection cómo permite al atacante enviar instrucciones SQL de forma maliciosa y malintencionada.

Publicado el 12 de Octubre de 2017
Compartir

Definición de SQL Injection

Sql Injection ó Inyección SQL es una vulnerabilidad que permite al atacante enviar o “inyectar” instrucciones SQL de forma maliciosa y malintencionada dentro del código SQL programado para la manipulación de bases de datos, de esta forma todos los datos almacenados estarían en peligro. La finalidad de este ataque es poder modificar del comportamiento de nuestras consultas a través de parámetros no deseados, pudiendo así falsificar identidades, obtener y divulgar información de la base de datos (contraseñas, correos, información relevante, entre otros), borrar la base de datos, cambiar el nombre a las tablas, anular transacciones, el atacante puede convertirse en administrador de la misma.

Esto ocurre normalmente a la mala filtración de las variables en un programa que tiene o crea SQL, generalmente cuando solicitas a un usuario entradas de cualquier tipo y no se encuentran validadas, como por ejemplo su nombre y contraseña, pero a cambio de esta información el atacante envía una sentencia SQL invasora que se ejecutará en la base de datos.

Conviértete en un Experto en Ciberseguridad
Comienza 15 días gratis en OpenWebinars y accede cursos, talleres y laboratorios prácticos de Snort, OSINT y Metasploit para proteger tus sistemas de ataques de malware.
Registrarme ahora

Ejemplo de ataque SQL Injection

Existen muchas formas de ataques, uno de los más frecuentes es donde se valida una consulta como verdadera. Por ejemplo:

  SELECT * FROM usuarios WHERE username = ‘atacante’ AND password = ‘mi_clave’ OR 1=1;

Podemos observar que esta consulta está formada por el condicional OR que devolverá verdadero al cumplirse al menos una de las dos expresiones por lo que siempre será verdadero ya que 1 = 1, cuando esto se ejecuta la base de datos arroja el total de registros en la tabla aunque el nombre de usuario y contraseña sean incorrectos puesto que la condición OR 1=1 siempre se cumple.

Herramientas para SQL Injection

Se pueden realizar pruebas de SQL Injection y automatizar todo el proceso para detectar y aprovechar las vulnerabilidades con una herramienta llamada SQLMap, esta herramienta es recomendada por OWASP (Open Web Application Security Project o Proyecto Abierto de Seguridad en Aplicaciones Web) que es una comunidad enfocada a optimizar la seguridad informática, que desarrolla documentación, metodologías, herramientas de libre acceso en cuanto a seguridad de aplicaciones web, todos sus materiales se encuentran disponibles bajo licencia de software libre y abierta.

Te presento solo algunos de los comandos que puedes utilizar con SQLMap:

  • Para listar las bases de datos que se encuentran dentro de un servidor con SQLMap puedes ejecutar el siguiente comando en la consola:

    sqlmap -u "DIRECCION_URL" -–dbs

  • Listar tablas de la base de datos:

    sqlmap -u "DIRECCION_URL" -D "NOMBRE_BASE_DE_DATOS" –-tables

  • Muestra todos los datos dentro de la tabla a especificar:

    sqlmap -u "DIRECCION_URL" -D "NOMBRE_BASE_DE_DATOS" -T "NOMBRE_DE_TABLA" --dump

Puedes descargar SQLMap a través de su página Web sqlmap.org o clonar su repositorio desde GIT en :

git clone --depth 1 https://github.com/sqlmapproject/sqlmap.git sqlmap-dev*

Recuerda que puedes aprender muchas más tácticas y técnicas de Ethical Hacking en nuestro curso Online de introducción al Ethical Hacking, donde aprenderás como defenderte de multitud de ataques de manera introductoria. No pierdas la oportunidad de aprender mucho más sobre ciberseguridad y Ethical Hacking.

Protege tu empresa de ataques de malware
Formaciones prácticas, avanzadas y actualizadas para que tu equipo domine las tecnologías, herramientas y procesos utilizados para proteger los datos y los activos IT/OT.
Solicitar más información


Compartir este post

También te puede interesar...

Tecnología

Herramientas y Recursos tutorial Ethical Hacking

05 Octubre 2015 Esaú Abril Nuñez
Introducción a Ethical Hacking

Curso de introducción a Ethical Hacking

5 horas y 50 minutos · Curso

En este curso aprenderás las bases de la ciberseguridad y ethical hacking sobre redes y sistemas en un nivel básico

  • Hacking Ético
Artículos
Ver todos