Insufficient workflow validation
Laboratorio de Portswigger sobre Business Logic Vulnerabilities
Certificaciones
- eWPT
- eWPTXv2
- OSWE
- BSCP
Descripción
Este laboratorio asume de forma errónea el nivel de privilegio del usuario sobre la secuencia de eventos en el flujo de compra. Para resolver el laboratorio, debemos explotar este fallo para comprar una chaqueta de cuero ligera l33t. Podemos iniciar sesión en nuestra propia cuenta utilizando las credenciales wiener:peter
Resolución
Al acceder a la web vemos esto
Hacemos click sobre My account y nos logueamos con las credenciales wiener:peter
Al loguearnos vemos esto
Añadimos un artículo que podamos comprar al carrito
Pulsamos en Place order y compramos el artículo
Después de hacer la compra nos abrimos la extensión Logger ++ de Burspuite y vemos que para confirmar la compra hace una petición a /cart/order-confirmation?order-confirmed=true
Lo siguiente que vamos a hacer añadir el artículo Lightweight "l33t" Leather Jacket a la cesta y posteriormente vamos mandar la petición que teníamos en el logger que hace a /cart/order-confirmation?order-confirmed=true al Repeater
Si enviamos la petición podemos comprar el artículo sin que se nos descuente dinero
Podemos hacer esto porque estamos evitando mandar una petición a /cart/checkout, esta ruta es la encargada de descontar el dinero de nuestro monedero









