GraphQL field suggestion / abuso
Só leitura — não altera nada no alvo. Só em alvo seu ou autorizado por escrito.
O vetor
Vetor: mesmo com introspection off, o GraphQL "sugere" campos parecidos em erros; queries aninhadas causam DoS; batching contorna rate limit. O que testamos: sugestão de campos, profundidade/complexidade, aliases em lote.
Os passos
Passo 1 (🟢) — provocar sugestão:
curl -s -X POST "$BASE/graphql" -H "Content-Type: application/json" \
-d '{"query":"{ usr { id } }"}' | grep -i "did you mean"
O que esperar
- VULNERÁVEL: erro sugere
user; aceita query com profundidade enorme; batching sem limite. - SEGURO: sugestões desligadas; limite de profundidade/complexidade; rate limit por operação.
Como corrigir
Correção (P1): desabilitar suggestions em prod; depth/complexity limiting; custo por query. Limpeza: nenhuma.