Playbook: lógica de negocio, race conditions y rate limiting
Uso autorizado. Ejecuta estas comprobaciones únicamente sobre activos incluidos expresamente en el alcance. Sustituye las variables por cuentas, objetos y sistemas de prueba. Comienza con una sola solicitud y detente cuando obtengas la evidencia mínima necesaria.
Regla de decisión. El fallo de un payload no permite declarar
NO-APLICA. Para descartarlo debe demostrarse que no existe la capacidad, el flujo, el componente o el intérprete necesario. Si existe pero no puede probarse, registraBLOQUEADOoAPLICA-PENDIENTE.
Activar si
Hay pagos, reservas, cupones, saldos, cuotas, invitaciones, aprobaciones, estados o claves de idempotencia.
Método
Dibuja la máquina de estados indicando actor, transición, precondición, control, efecto y reversibilidad. Prueba omisión, repetición, reordenación y concurrencia.
Pruebas
- Cero, negativos, máximos y precisión decimal.
- Precio, cantidad, moneda, propietario o estado enviados por cliente.
- Reutilización de cupones, enlaces, invitaciones e idempotencia.
- Saltos de pasos y llamadas directas.
- Dos solicitudes simultáneas sobre un recurso reversible.
- Límites en todas las rutas, identidades y nodos.
1
curl -isk -X POST "$BASE_URL/api/action" -H "Authorization: Bearer $TOKEN_A" -H 'Idempotency-Key: control-7f3a' -H 'Content-Type: application/json' --data '{"resource":"test-only"}'
Comienza con dos solicitudes, no con carga sostenida.
Señales
Doble consumo o abono, transición inválida, precio confiado desde cliente, límite inconsistente o idempotencia no vinculada a actor, operación y cuerpo.
Referencias locales
hacktricks/src/pentesting-web/race-condition.mdhacktricks/src/pentesting-web/rate-limit-bypass.mdhacktricks/src/pentesting-web/bypass-payment-process.md