Problema de seguridad

Riesgo de inyección SQL en n8n

Por qué construir consultas SQL con concatenación de strings pone tu base de datos en riesgo

¿Qué es este problema?

La inyección SQL ocurre cuando la entrada del usuario se concatena directamente en consultas SQL en lugar de usar consultas parametrizadas. Esto permite a los atacantes manipular tus consultas de base de datos y potencialmente acceder, modificar o eliminar datos.

Patrones vulnerables detectados:

  • SELECT * FROM users WHERE id = '${id}'
  • Concatenación de strings con + o template literals
  • Entrada de usuario desde webhooks usada directamente en consultas
  • Nombres de tablas o columnas dinámicos desde entrada externa

¿Por qué es peligroso?

Brecha de datos

Los atacantes pueden extraer datos sensibles de toda tu base de datos, incluyendo otras tablas que no pretendías consultar.

Manipulación de datos

La entrada maliciosa puede modificar o eliminar datos, corrompiendo la integridad de tu base de datos.

Bypass de autenticación

La inyección SQL puede evadir verificaciones de login, dando a los atacantes acceso de administrador.

Ejecución remota de código

En algunas bases de datos, la inyección SQL puede llevar a ejecución de comandos del sistema operativo.

Cómo solucionarlo

  1. 1

    Usar consultas parametrizadas

    En nodos Postgres/MySQL, usa sintaxis $1, $2, :param en lugar de interpolación de strings. Pasa los valores como parámetros.

  2. 2

    Validar y sanitizar entrada

    Antes de usar cualquier entrada externa, valida que coincida con patrones esperados (ej: ID numérico solo debe contener dígitos).

  3. 3

    Usar operaciones ORM

    Cuando sea posible, usa las operaciones integradas de n8n (Get, Create, Update) en lugar de consultas SQL crudas.

  4. 4

    Implementar privilegio mínimo

    Usa usuarios de base de datos con permisos mínimos requeridos. No conectes con credenciales de administrador.

Escanea tu workflow ahora

Sube tu archivo JSON de n8n y detecta instantáneamente riesgos de inyección SQL y otros problemas de seguridad de base de datos.

Buscar inyección SQL

Recursos relacionados

Problemas de seguridad relacionados