El principio del ataque de inyección SQL
El principio del ataque de inyección SQL: la inyección SQL (SQLi) es un ataque de inyección que ejecuta sentencias SQL maliciosas. Estas declaraciones SQL pueden controlar el servicio de base de datos detrás del sitio web. Los atacantes pueden aprovechar las vulnerabilidades de SQL para eludir las medidas de seguridad que tiene un sitio web. Pueden omitir la autenticación y autorización del sitio web y acceder a los datos en toda la base de datos SQL. También pueden utilizar la inyección SQL para agregar, modificar y eliminar datos.
La inyección SQL puede afectar a cualquier sitio web o aplicación que utilice una base de datos SQL (como MySQL, Oracle, SQL Server, etc.). Los atacantes pueden utilizarlo para obtener acceso no autorizado a sus datos confidenciales, como perfiles de usuario, datos personales, secretos comerciales, propiedad intelectual, etc. La inyección SQL es una de las vulnerabilidades de sitios web más antiguas, populares y peligrosas. La organización OWASP (Open Web Application Security Project) enumeró las vulnerabilidades de inyección como una de las diez vulnerabilidades principales en el documento OWASP Top 10 de 2017. El documento Top 10 clasifica las vulnerabilidades de inyección como la mayor amenaza para la seguridad de los sitios web.
Para lanzar un ataque de inyección SQL, un atacante primero necesita encontrar información vulnerable del usuario en un sitio web o aplicación. Un sitio web o una aplicación vulnerable utiliza esta entrada del usuario directamente en una consulta SQL. Un atacante puede crear el contenido de estas entradas. Estos contenidos suelen denominarse vectores maliciosos y son una parte clave del proceso de ataque. Después de que el atacante envía el contenido, las declaraciones SQL maliciosas se ejecutan en la base de datos.