SQL Injection from scratch

¿Qué es una inyección SQL?

Es un tipo de vulnerabilidad de seguridad web que permite que un atacante interfiera con las consultas que determinada aplicación o sistema realiza a su base de datos y así extraer su información. En ocasiones existe la posibilidad de que el atacante pueda modificar o eliminar datos, causando cambios en la persistencia de la información o el comportamiento de la aplicación.

¿ En qué consiste esta vulnerabilidad?

En general el software, y puntualmente las aplicaciones web suelen traer defectos, fallos de programación (bugs), implicando así algunos riesgos para la seguridad, en función de la cantidad de líneas de código radica la dificultad de realizar la detección y correción de las brechas,

Para realizar el estudio de estos problemas de forma simplificada, se acostumbra a trabajar con un modelo conceptual de aplicaciones que las descompongan en varios niveles.

**

Existen diversos tipos de aplicaciones web tales como: gestores de contenidos (CMS), webmail services, soluciones de monitorización, blogs, foros, programas a la medida etc, todas con diferentes objetivos y funcionalidades pero convergen en el uso de un sistema gestor de base de datos (DBMS), el cual cuenta con soporte a un lenguaje estructurado de consultas (SQL). Acá es donde está almacenada la información, el activo mas importante de la organización, generalmente esta se encuentra protegida y custodiada por mecanismos y controles que proporcionan un nivel de seguridad adecuado en temas de autenticación y control de acceso.

Referencias

Enrique Rando, Chema Alonso; Hacking de Aplicaciones Web SQL Injection. 2a Edición.