OWASP Evolution

InjectionA05: Injection · 2025

Datos no confiables se interpretan como comandos o consultas

Resumen

Datos no confiables se interpretan como comandos o consultas. La inyección puede alterar consultas, ejecutar instrucciones o acceder a información fuera del flujo previsto.

Cómo funciona el ataque

A05 · Cómo funciona el ataqueEl payload ' OR '1'='1 se concatena en SQL y hace verdadera la condición WHERE, devolviendo filas ajenas a la búsqueda.Atacantename: ' OR '1'='1SELECT id FROM usersWHERE name = '' OR '1'='1'La entrada cambia la sintaxis

El payload ' OR '1'='1 se concatena en SQL y hace verdadera la condición WHERE, devolviendo filas ajenas a la búsqueda.

Ejemplo

Vulnerable · Pseudocódigo
name = "' OR '1'='1"
sql = "SELECT id FROM users\n" +
      "WHERE name = '" + name + "'"
db.query(sql)

Corrección: Usar db.query("SELECT id FROM users WHERE name = ?", [name]).

Prevención

  • Usar APIs parametrizadas y evitar concatenar entradas en comandos.
  • Validar con listas permitidas cuando la parametrización no sea posible.
  • Separar datos de instrucciones y probar los puntos de entrada con casos adversarios.

Linaje

  1. 2013 · A1: Injection Continúa en 2017
  2. 2013 · A3: Cross-Site Scripting (XSS) Baja al puesto 7 en 2017
  3. 2017 · A1: Injection Continúa
  4. 2017 · A7: Cross-Site Scripting (XSS) Se integra en Injection
  5. 2021 · A03: Injection Absorbe XSS
  6. 2025 · A05: Injection Baja desde el puesto 3
  • 2013:A1 → 2017:A1: Injection conserva el primer puesto.
  • 2013:A3 → 2017:A7: XSS baja del puesto 3 al 7.
  • 2017:A1 → 2021:A03: Injection baja del puesto 1 al 3.
  • 2017:A7 → 2021:A03: XSS se integra dentro de Injection.
  • 2021:A03 → 2025:A05: Injection baja del puesto 3 al 5.

Fuentes

Invítame un café

OWASP Evolution

Ediciones
Continúa / se mueveContinúa Se renombraRenombra Se fusiona / amplíaFusiona