🎬 GhostFlix
GhostFlix es un clon deliberadamente vulnerable de un servicio de streaming: cuentas gratis y Premium, catálogo con contenido bloqueado, reseñas y cupones de descuento. Corre en local (python app/app.py) y no depende de ningún servicio externo.
Los cuatro retos comparten el mismo objetivo — desbloquear ventajas Premium sin pagar ni tener permiso — pero cada uno explota un fallo de lógica de negocio distinto: el backend acepta datos del cliente que nunca debería aceptar, o confía en una respuesta que el propio atacante puede editar antes de que llegue.
A identificar Mass Assignment (cuando una API vuelca todo el JSON recibido sobre el registro sin filtrar campos), a usar Match & Replace de Burp para reescribir respuestas al vuelo, a reconocer APIs que filtran de más en su JSON de respuesta, y a repetir el patrón de race condition ya visto en el capítulo 18 del manual, esta vez contra un cupón de descuento.
Se practica en local contra tu propia instancia (127.0.0.1). Usa /reset en cualquier momento para devolver tu cuenta a plan Free y repetir un reto desde cero.
El formulario de «Mi cuenta» solo debería dejarte cambiar tu nombre y avatar, pero el endpoint vuelca todo el JSON recibido sobre tu registro sin filtrar campos.
Reescribe al vuelo la respuesta del servidor para que tu sesión se reporte a sí misma como Premium, sin tocar nada en el backend.
El endpoint de reseñas devuelve en su JSON más campos de los que la interfaz llega a mostrar — incluido algo que no deberías poder ver.
El mismo cupón de descuento, canjeado muchas veces en paralelo antes de que el servidor tenga tiempo de marcarlo como usado.