OWASP Evolution

Insecure DesignA04: Insecure Design · 2021

El sistema carece de controles necesarios desde el diseño, incluso si la implementación no contiene un error puntual

Resumen

El sistema carece de controles necesarios desde el diseño, incluso si la implementación no contiene un error puntual. El riesgo se origina en requisitos, límites de confianza y flujos inseguros.

Cómo funciona el ataque

A04 · Cómo funciona el ataqueUn usuario repite un descuento en el flujo de compra porque el diseño no define ni exige un límite de uso, abusando de la lógica de negocio.CarritoWELCOME10Descuento +10Repetir sin límiteFalta la regla: un uso por cliente

Un usuario repite un descuento en el flujo de compra porque el diseño no define ni exige un límite de uso, abusando de la lógica de negocio.

Ejemplo

Vulnerable · Pseudocódigo
POST /cart/apply-coupon
{"code": "WELCOME10"}
cart.discount += 10

Corrección: Definir un uso por cliente y aplicarlo de forma atómica en el servidor.

Prevención

  • Realizar modelado de amenazas y definir requisitos de seguridad verificables.
  • Usar patrones seguros, límites de negocio y separación de responsabilidades.
  • Probar escenarios de abuso durante diseño, desarrollo y revisión.

Linaje

  1. 2021 · A04: Insecure Design Nueva en 2021
  2. 2025 · A06: Insecure Design Baja desde el puesto 4
  • 2021:A04 → 2025:A06: Insecure Design baja del puesto 4 al 6.

Fuentes

Invítame un café

OWASP Evolution

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