Qué es SQL injection y como prevenirlo?

SQL injection es una técnica de inyección de código utilizada para atacar aplicaciones, en la que se insertan declaraciones SQL maliciosas en un campo de entrada para su ejecución (por ejemplo, para exfiltrar el contenido de la base de datos).

SQL injection es uno de los riesgos Top 10 de OWASP para aplicaciones.

SQL Injection

La inyección de SQL debe aprovechar una vulnerabilidad de seguridad en el software de una aplicación, por ejemplo, cuando la entrada del usuario se filtra incorrectamente para cadenas de secuencias de escape incrustados en declaraciones SQL o la entrada del usuario no es strongly typed y se ejecuta inesperadamente. La inyección SQL se conoce principalmente como un vector de ataque para sitios web, pero se puede usar para atacar cualquier tipo de base de datos SQL.

Los ataques de inyección SQL permiten a los atacantes falsificar la identidad, alterar datos existentes, anular transacciones o cambiar saldos, permitir la divulgación completa de todos los datos de un sistema, destruir los datos o hacer que no estén disponibles, e incluso obtener privilegio como administradores del servidor de base de datos.

¿Cómo prevenir un ataque de SQL injection?
  • Utilizar declaraciones SQL parametrizadas
  • Usar revisión de código, penetration testing (DAST) y análisis estático (SAST)
  • Usar validación del input como una defensa secundaria cuando use “bind variables”
  • Practique el principio de privilegio mínimo para limitar el impacto de las inyecciones de SQL

Somos expertos en DAST y SAST podemos mejorar la seguridad de tus aplicaciones, contáctanos ahora.

Para Pruebas de Seguridad Estáticas (SAST) trabajamos con Checkmarx y Veracode.

Cyberseguridad Solutions © 2021