🔒 Registro cerrado · Apertura oficial próximamente · Acceso exclusivo para alumnos activos
Iniciar SesiónModelo negativo y modelo positivo
5 tareas · 40 min · Principiante
Un WAF puede decidir de dos maneras: bloquear lo que se parece a algo malo conocido, o dejar pasar solo lo que se parece a lo que la aplicación espera. La API de pedidos de Droguería Ribera Alta tiene un contrato escrito que dice qué parámetros acepta cada endpoint. Con él, y con ocho peticiones de prueba que el equipo describió en palabras, ves qué haría cada enfoque. No hay ninguna petición armada: cada muestra se cuenta en una frase y se razona sobre ella.
Objetivo de la sala
Un WAF puede decidir de dos maneras: bloquear lo que se parece a algo malo conocido, o dejar pasar solo lo que se parece a lo que la aplicación espera. La API de pedidos de Droguería Ribera Alta tiene un contrato escrito que dice qué parámetros acepta cada endpoint. Con él, y con ocho peticiones de prueba que el equipo describió en palabras, ves qué haría cada enfoque. No hay ninguna petición armada: cada muestra se cuenta en una frase y se razona sobre ella.El modelo negativo mantiene una lista de lo que se sabe malo, las firmas, y bloquea lo que coincide con ellas. Es lo que traen casi todos los conjuntos de reglas gestionadas: se instala rápido y cubre mucho sin conocer la aplicación. Su límite es que solo detiene lo que alguien ya describió, y que una firma demasiado amplia coge peticiones legítimas.
El modelo positivo parte de lo contrario: define lo que cada endpoint espera (parámetros, tipos, largos, valores) y rechaza todo lo demás. Es mucho más estricto y no depende de que un ataque sea conocido; su coste es que hay que describir la aplicación y mantener esa descripción al día cuando la aplicación cambia.
Responde para continuar
¿Cuál es la diferencia de fondo entre el modelo negativo y el modelo positivo?
Ver pista de ayuda
Uno parte de lo que se prohíbe y el otro de lo que se permite.
Consulta contrato_api para ver qué espera cada parámetro y muestras para ver qué haría cada modelo con cada petición descrita. Hay peticiones que no se parecen a ningún ataque conocido y aun así no pertenecen a la API: un valor que no está en la lista permitida, un texto donde va un número. El modelo negativo las deja pasar porque no coinciden con ninguna firma; el positivo las rechaza porque no cuadran con el contrato.
Esta tarea se hace en el laboratorio
Una consola para consultar la base de datos, aquí en la página. No instalas nada y no puedes romper nada.
Responde para continuar
¿Qué muestra envía un método de pago que no está en la lista permitida? Escribe su código.
Ver pista de ayuda
Ejecuta `SELECT * FROM muestras` y busca la fila cuyo parámetro es `metodo_pago`.
Para medir el valor del contrato, cuenta las muestras que el modelo negativo deja pasar y el positivo bloquea. Son el terreno que solo cubre el segundo.
Esta tarea se hace en el laboratorio
Una consola para consultar la base de datos, aquí en la página. No instalas nada y no puedes romper nada.
Responde para continuar
¿Cuántas muestras deja pasar el modelo negativo y bloquea el positivo? Escribe solo el número.
Ver pista de ayuda
Ejecuta `SELECT * FROM muestras WHERE modelo_positivo = 'bloquea'` y quita las que el negativo también bloquea.
El modelo positivo se queda corto con los campos de texto libre: si el contrato dice «texto libre, hasta 60 caracteres», casi cualquier contenido cumple. En esos campos el que trabaja es el modelo negativo, que mira el contenido. Revisa en muestras cuál es la que el modelo negativo detiene y el positivo deja pasar en la búsqueda de clientes.
Esta tarea se hace en el laboratorio
Una consola para consultar la base de datos, aquí en la página. No instalas nada y no puedes romper nada.
Responde para continuar
¿Qué muestra dirigida a la búsqueda de clientes detiene el modelo negativo y deja pasar el positivo? Escribe su código.
Ver pista de ayuda
Ejecuta `SELECT * FROM muestras WHERE modelo_positivo = 'pasa'` y busca el endpoint de la búsqueda.
En la práctica se combinan. Donde la aplicación tiene estructura (números, listas, largos), un contrato estricto da una protección muy buena y barata de mantener. Donde hay texto libre, firmas sobre el contenido. Y en ambos casos la aplicación debe validar y tratar los datos de forma segura por su cuenta: el WAF es una red de seguridad, no el único control.
Responde para continuar
Una API tiene parámetros numéricos, listas cerradas y dos campos de texto libre. ¿Qué configuración es la más sensata?
Ver pista de ayuda
¿Qué hace cada modelo bien y dónde es débil?
Conectando con la base…
Tablas
contrato_api
- endpoint
- metodo
- parametro
- tipo
- largo_max
- valores_permitidos
muestras
- muestra
- endpoint
- parametro
- valor_descrito
- modelo_negativo
- modelo_positivo
El resultado aparece aquí.
fila(s)
Whoami-Labs Pro
Whoami-Labs Pro utiliza cookies
Utilizamos cookies y almacenamiento local para el funcionamiento del sitio, seguridad de sesión y, si lo autorizas, analítica y marketing. Puedes aceptar, rechazar o personalizar. Política de Privacidad
Preferencias
Configuraciones de cookies
Elige qué categorías permitir. Las esenciales siempre están activas. Consulta la Política de Privacidad.
Esenciales
Siempre activas · sesión, CSRF, tema y esta preferencia
Necesarias para iniciar sesión, proteger formularios (CSRF) y recordar tu elección de cookies y tema. Sin ellas la plataforma no funciona de forma segura.
Analíticos
Hoy no activos en la plataforma; listos para cuando se conecten
Nos ayudan a entender uso de cursos y páginas. Si los activas, se usarán cuando conectemos analítica; hasta entonces no se carga ningún tracker.
Marketing
Hoy no activos; campañas futuras solo con tu permiso
Comunicaciones o campañas. No activos hoy en la plataforma; quedarán listos si los conectamos y solo si los permites.