Los ataques de inyección SQL ocurren cuando un atacante introduce código malicioso en una aplicación web que no valida correctamente las entradas del usuario. La aplicación confunde los datos con instrucciones SQL, ya que toma directamente lo que el usuario envía y lo inserta dentro de una consulta sin sanitización.
Esto le otorga al atacante la capacidad de leer, modificar o eliminar información sensible de la base de datos, e incluso tomar control del sistema en casos críticos.
Para identificar esta vulnerabilidad, primero analizamos el código del formulario. En este caso, el parámetro «id» no está validado, lo que significa que el valor introducido por el usuario es recibido por esta variable e incluido directamente en la instrucción SQL sin ningún tipo de filtro o verificación.
Esta falta de validación permite que la aplicación acepte cualquier tipo de carácter, incluyendo comandos SQL especiales, dando al atacante la posibilidad de manipular la consulta original e inyectar sus propias instrucciones SQL maliciosas.
