BBLABSBBLABS
LaboratoriosAprender desde 0FuncionesPreciosTestimoniosDetrás de BBLABS
  1. Home
  2. Labs
  3. Race Condition in Coupon Application
Medium25 min

Race Condition in Coupon Application

By @gorka

E-commerce donde el endpoint de aplicar cupon tiene un delay entre verificar si ya fue usado y aplicarlo, permitiendo aplicar el mismo cupon multiples veces con peticiones concurrentes hasta que el precio llegue a 0.

This hack was reported with no reward

1.9K views27 completedUpdated Nov 2026
Log in to start

Learn to find this bug

A real hack, reproduced for you to practice.

Create your account and practice real bugs that got paid. Download the environment, find it and learn the exact technique — your path to your first bounty.

650

hunters training

50

labs from real hacks

380

completions

$12,000

paid out for these bugs

40 flags captured this week
Create account
I already have an account

Access to all labs · no commitment · cancel anytime

Hackers who solved it· 8

l3g10n_1
@l3g10n_6 days ago
r00thor2
@r00thor28 days ago
sharat chandra3
@sharat chandraOct 2026
emperador
@emperadorSep 2026
bizedtv
@bizedtvSep 2026
3nk1
@3nk1Sep 2026
blackcloudsecurity
@blackcloudsecurityAug 2026
alumnofing31
@alumnofing31Aug 2026

Objectives

1
Crear un pedido y observar el flujo de cupones
2
Identificar el endpoint POST /api/orders/:id/apply-coupon
3
Enviar 20+ peticiones concurrentes para aplicar el mismo cupon
4
Verificar que el precio se redujo a 0

Information

Difficulty
Medium
Duration
25 min
Bounty
Sin recompensa
Completed
27
Creator
gorka@gorka
Updated
Nov 2026

Download the environment

Reproduce it and find the bug yourself

Create account

Tools

Burps Suite

Prerequisites

  • Concepto de Race Condition (TOCTOU)
  • Herramientas para peticiones concurrentes

Tags

Race Condition

Achievement you'll earn

Solve this lab to unlock this shareable achievement

Solve this lab to unlock this shareable achievement

Community writeups

Free · no account

The checklist I run on every new target

47 checks ordered by cost: first what can get you in trouble, then the cheap stuff, and finally the expensive stuff — which is where the big bounties are. I'll send it to your inbox right now.

Unsubscribe in one click, from any email.

Despliegue

# Opcion 1: autodeploy
./autodeploy.sh

# Opcion 2: manual
docker compose up --build

# Acceder
https://localhost:1000

Compatible con macOS, Linux y Windows (Docker Desktop / WSL).

Para parar:

./autodeploy.sh destroy
# o: docker compose down -v

Contenido del Lab

La aplicacion

ShopZone es un e-commerce con cupones de descuento que se aplican a pedidos.

La vulnerabilidad

El endpoint verifica si el cupon ya fue aplicado, luego aplica el descuento con un delay artificial entre ambas operaciones. Peticiones concurrentes pasan la verificacion antes de que ninguna haya completado la aplicacion.

Cadena de ataque

1. Crear pedido (ej: 100 euros)
2. Obtener cupon de 20 euros
3. Lanzar 20+ peticiones concurrentes de aplicar cupon
4. Todas pasan el check al mismo tiempo
5. Cupon aplicado multiples veces\n6. Precio final: 0 euros

Solucion interactiva

Accede a /writeup dentro de la aplicacion para una guia paso a paso con botones interactivos.


Flag

(precio del pedido reducido a 0 euros)

Remediacion

  1. Usar transacciones atomicas en la base de datos
  2. SELECT FOR UPDATE para bloquear la fila
  3. Optimistic locking con version numbers
  4. Rate limiting por usuario + recurso

The community

This isn't a platform with users.It's people breaking the same things you are.

Inside people ask, share what they found and solve together what would block anyone on their own. It's free to join: no account, no plan, no email required.

Join the BBLABS community on Discord
Join the Discord

Free and open. You don't need a BBLABS account to join.

BBLABS LogoBBLABS

Laboratorios de hacking basados en hackeos reales. Aprende practicando sobre entornos vulnerables, con la resolución explicada paso a paso.

Producto

  • Funcionalidades
  • Precios
  • Labs
  • Aprender desde 0
  • Blog
  • Detrás de BBLABS

Legal

  • Términos
  • Privacidad
  • Cookies
  • Entrar
  • Crear cuenta

Para cualquier duda, bug, soporte o sugerencia puedes escribir a team@bblabs.es

© 2026 BBLABS. Todos los derechos reservados.