inyección SQL


La inyección SQL es una técnica de inyección de código utilizada para atacar aplicaciones basadas en datos, en la que se insertan declaraciones SQL maliciosas en un campo de entrada para su ejecución (por ejemplo, para volcar el contenido de la base de datos al atacante). [1] [2] La inyección SQL debe explotar una vulnerabilidad de seguridad en el software de una aplicación, por ejemplo, cuando la entrada del usuario se filtra incorrectamente para los caracteres de escape literales de cadena incrustados en las declaraciones SQL o la entrada del usuario no está fuertemente escrita y se ejecuta inesperadamente. La inyección de SQL se conoce principalmente como un vector de ataquepara sitios web, pero puede usarse para atacar cualquier tipo de base de datos SQL.

Los ataques de inyección SQL permiten a los atacantes falsificar la identidad, alterar los datos existentes , causar problemas de repudio, como anular transacciones o cambiar saldos, permitir la divulgación completa de todos los datos en el sistema, destruir los datos o hacer que no estén disponibles, y convertirse en administradores de la servidor de base de datos.

En un estudio de 2012, se observó que la aplicación web promedio recibió cuatro campañas de ataque por mes y los minoristas recibieron el doble de ataques que otras industrias. [3]

Las primeras discusiones públicas sobre la inyección SQL comenzaron a aparecer alrededor de 1998; [4] por ejemplo, un artículo de 1998 en Phrack Magazine . [5]

La inyección SQL (SQLI) fue considerada una de las 10 principales vulnerabilidades de aplicaciones web de 2007 y 2010 por Open Web Application Security Project . [6] En 2013, SQLI fue calificado como el ataque número uno en el top ten de OWASP. [7] Hay cuatro subclases principales de inyección SQL:

Esta clasificación representa el estado de SQLI, respetando su evolución hasta 2010; se están realizando más refinamientos. [13]


Clasificación de los vectores de ataque de inyección SQL en 2010
Una clasificación de vector de ataque de inyección SQL a partir de 2010.