Entrada

Business Logic Vulnerabilities Lab 10

Business Logic Vulnerabilities Lab 10

Skills

  • Infinite money logic flaw

Certificaciones

  • eWPT
  • eWPTXv2
  • OSWE
  • BSCP

Descripción

Este laboratorio tiene un fallo lógico en su flujo de compra. Para resolver el laboratorio, debemos explotar este fallo para comprar el artículo Lightweight "l33t" Leather Jacket. 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

En la parte inferior de la web nos podemos suscribir

Al hacerlo nos aparece un alert con el cupón SIGNUP30

Aplicamos el código de descuento

Si pulsamos en Place order recibiremos un código de tarjeta regalo

Si pulsamos sobre My account y añadimos un código de descuento vemos que el código de descuento es superior al coste del producto, por lo tanto podríamos aumentar la cantidad de dinero que tenemos en nuestra cuenta de forma ilimitada

Podemos automatizar este proceso mediante las macros de Burpsuite, para configurarlas debemos acceder a Settings > Sessions > Macros

Añadimos las peticiones a la macro, para ello mantenemos pulsada la tecla CTRL y hacemos click izquierdo sobre las peticiones que queramos

Vamos a añadir una expresión regular en el cuarto elemento, para ello lo seleccionamos y pulsamos Configure item

Pulsamos en Add

Como Parameter name le ponemos gift-card y marcamos el primer código de descuento que aparece. Marcamos el primer código porque es la posición que se actualiza cuando añadimos un nuevo código

Señalamos la quinta petición y pulsamos sobre Configure item

Modificamos el valor gift-card de Use preset value a Derive from prior response

Podemos testear la macro pulsando en Test macro

Para ver si funciona realmente accedemos a /my-account y vemos como el dinero que tenemos disponible ha aumentado

Para que la macro funcione debemos dirigirnos a Session handling rules y añadir una nueva regla

En la pestaña de Details debemos pulsar sobre Add > Run a macro

Seleccionamos la macro que queremos y pulsamos en OK

En la pestaña de Scope, seleccionamos la casilla Proxy (use with caution) y la casilla Incluse all URLs

Después de configurar esto, cada vez que mandemos un petición se activará la macro. Debemos capturar una petición a la web mediante Burpsuite y mandarla al Intruder

En la pestaña de payloads seleccionamos como tipo de payload Null payloads

En la pestaña Resource pool debemos seleccionar un único hilo, esto lo debemos hacer porque el orden de las peticiones es importante

Empezamos el ataque y vamos recargando la web con F5 hasta que veamos que tenemos dinero suficiente para comprar el artículo Lightweight "l33t" Leather Jacket. También es importante recalcar que de la forma que hemos configurado nosotros la macro, con tan solo recargar la web desde el navegador funcionaría, esto se debe a que estamos tunelizando las peticiones a través de Burpsuite

Esta entrada está licenciada bajo CC BY 4.0 por el autor.