¿Qué es una inyección SQL?
Una inyección de Lenguaje de consulta estructurado (SQL) es un tipo de ataque que casi siempre se intenta contra un sitio web basado en bases de datos. Es un esfuerzo para insertar código malicioso en las consultas SQL del sitio con el fin de interferir con la gestión de datos al destruir, alterar o revelar los datos que se almacenan en las tablas de la base de datos que dirige el sitio. SQL es un lenguaje de programación estándar empleado para crear, actualizar y recuperar datos almacenados en bases de datos.
Los peligros de los ataques de inyección SQL son numerosos y, a menudo, muy devastadores cuando se llevan a cabo con éxito. La información confidencial, como los números de tarjetas de crédito, los registros médicos de una persona, los nombres de usuario y las contraseñas de cuentas como la banca en línea y el correo electrónico, así como varios tipos de números de identificación, pueden exponerse a los ciberdelincuentes. Aunque el robo de datos probablemente sea el objetivo principal de cualquiera que intente usar la inyección SQL, no es la única motivación para el uso de este o cualquier otro tipo de técnica de inyección de código, como la secuencia de comandos entre sitios. Los visitantes de un sitio web que muestra información que no les gusta pueden intentar ataques de inyección SQL para deshabilitar el sitio, robar datos o alterar los datos para destruir la misión de las personas detrás del sitio.
A veces, un visitante descontento intenta un ataque de inyección SQL contra un sitio web al que los propietarios del sitio pueden haber prohibido su cuenta, envidia la popularidad del sitio o busca destruir el negocio en línea de alguien a quien considera ser un enemigo Obviamente, se requiere conocimiento de SQL para lanzar un ataque de inyección SQL, pero generalmente no se considera un lenguaje muy difícil de aprender, en comparación con otros lenguajes de programación, y se puede lograr mucho con una comprensión básica, pero sólida, de cómo usar eso. Esto significa que hay un buen número de personas que navegan por Internet que tienen la habilidad necesaria para intentar la inyección de SQL en un sitio web.
Los desarrolladores web, particularmente aquellos que se especializan en el desarrollo web de back-end, son responsables de garantizar que los sitios que programan sean seguros contra la inyección SQL. Casi siempre hay más de una forma de lograr una seguridad tan importante, y la mayoría de esos métodos se consideran soluciones simples pero muy efectivas. Por ejemplo, un desarrollador puede usar la función mysql_real_escape_string () o las declaraciones preparadas al crear scripts en el lenguaje de preprocesador de hipertexto (PHP). Los métodos elegidos para protegerse contra los ataques deben considerarse cuidadosamente, ya que el rendimiento del sitio en su conjunto no se puede ignorar incluso cuando se configura la seguridad.