Nivel AvanzadoPremium

Cloudflare WAF — payload size bypass, oversized body, plan-specific limits

Bypass de Cloudflare WAF mediante exploitation de body size limits por plan (Free 100kb, Pro 100kb, Business 500kb, Enterprise 1mb): oversize payload trick + chunked transfer encoding.

Gorka El Bochi11 de mayo de 202613 min

Deja de leer sobre bugs y empieza a cazarlos

Sin tarjeta · Academy gratis · cancela cuando quieras

Crear cuenta gratis

Respuesta rápida

Cloudflare WAF no inspecciona todo el body: tiene límites por plan (Free ~8 KB, Pro/Business bajos por default, Enterprise 128 KB). Si tu payload va después del límite, el WAF no lo ve. Bypass clásico: padding + payload real al final del body. Funciona en POST/PUT/PATCH, JSON, multipart y form-urlencoded. Combina con chunked transfer encoding para evadir reglas que sí inspeccionan los primeros bytes. Severidad real solo cuando encadenas con SQLi/XSS/RCE detrás.


1. El concepto: body inspection limits

Cloudflare inspecciona los primeros N bytes del body. Por encima de N, el contenido pasa sin análisis al origin. Es comportamiento by design documentado por Cloudflare — pero en bug bounty lo que importa es el impacto sobre la app del target.

Límites por plan (estado post-diciembre 2025)

PlanLímite de inspecciónAmpliable
Free~8 KBNo
ProBajo por defaultHasta 1 MB vía soporte
BusinessBajo por defaultHasta 1 MB vía soporte
Enterprise128 KBHasta 1 MB vía soporte

Cloudflare intentó subir el límite a 1 MB para todos en diciembre 2025 (CVE-2025-55182, React RCE), pero revirtió por falsos positivos masivos en managed rulesets. Resultado: los límites bajos siguen vigentes en la inmensa mayoría de Free/Pro deployments.

[!tip] Detección del plan Si ves Bot Management avanzado, WAF custom rules complejas y cf-ray con prefijos enterprise → probablemente Enterprise. Si la página cdn-cgi/trace no expone features avanzadas y los cf-cache-status son básicos → Free/Pro.


2. Fingerprint del WAF activo

Antes de tirar oversize, confirma que el WAF está inspeccionando el body. Manda un payload básico que siempre dispare reglas managed:

bash
# SQLi clásico — debería disparar Managed Ruleset
curl -X POST https://target.com/api/search \
  -H "Content-Type: application/x-www-form-urlencoded" \
  -d "q=' UNION SELECT password FROM users-- "

# Respuesta esperada con WAF activo:
# HTTP/1.1 403 Forbidden
# server: cloudflare
# cf-ray: <id>-<colo>
# (body con "Attention Required! | Cloudflare")

Si recibes 403 → WAF activo inspeccionando. Si pasa con 200/500 → o no hay WAF, o no inspecciona ese endpoint, o ya está bypasseado por defecto.


Sigue leyendo el chain completo

La parte que falta incluye el PoC paso a paso, código de explotación y la cadena completa que llevó al impacto. Disponible para suscriptores.

Gratis · sin cuenta

La checklist que repaso en cada objetivo nuevo

47 comprobaciones ordenadas por coste: primero lo que te puede meter en un lío, luego lo barato, y al final lo caro — que es donde están los bounties grandes. Te la mando al correo ahora mismo.

Te das de baja en un clic, desde cualquier correo.

Practica esto en un lab

Cloudflare Waf Bypass

Resolver

Sigue aprendiendo · cuenta gratis

Guarda tu progreso, desbloquea payloads avanzados y rankea tus flags.

Crear cuenta

Artículos relacionados

2.786

hunters entrenando

63

labs de hackeos reales

1.767

completaciones

$14.790

pagados por estos bugs

37 flags capturadas esta semana·Hackeos reales de HackerOne · YesWeHack · Bugcrowd·Sin permanencia·Academy gratis

La comunidad

Esto no es una plataforma con usuarios.Es gente rompiendo lo mismo que tú.

Dentro se pregunta, se enseña lo que se ha encontrado y se resuelve en grupo lo que atascaría a cualquiera solo. Se entra gratis: sin cuenta, sin plan y sin dejar el correo.

Entrar a la comunidad de BBLABS en Discord
Entrar al Discord

Es gratis y abierto. No hace falta tener cuenta en BBLABS para entrar.