Saltar al contenido principal

GraphQL — Introspection + Batching abuse

Endpoint GraphQL con introspection abierto (__schema query) te entrega el schema completo: mutaciones expuestas, tipos internos, comentarios.

Categoría: Web · Vectores avanzados 🎯 Trinchera — Endpoint GraphQL con introspection abierto (__schema query) te entrega el schema completo: mutaciones expuestas, tipos internos, comentarios. Combinado con batching ([{query: ...}, {query: ...}]) saltas rate limiting trivial. 🔗 Kill chain — De introspection a IDOR/auth bypass en mutaciones internas. Batching → fuerza bruta de OTPs sin trigger de rate limit por petición HTTP. 📡 Huella defensiva — Queries con __schema/__type, operaciones POST con arrays de queries, profundidad de query >5. ⚠️ Falso amigo — Apollo deshabilita introspection en producción por defecto (desde v3.9), pero muchas implementaciones custom no. 🛡️ Remediación — Disable introspection en prod, persisted queries, query complexity analysis, depth limiter (max 7 niveles), rate limiting por operación (no sólo por request).
Volver al glosario completo Última actualización: 2026-06-11