Testing playbook · intermediate
GraphQL Abuse
Enumerate and attack GraphQL: schema recovery, authorization gaps, and resource abuse.
Detection firstStop as soon as the evidence decisively supports or falsifies the hypothesis.
Every step requires authorization. Review side effects before running commands against a live system.
Recover the schema
Try introspection first; if disabled, brute-force field names via suggestion errors.
clairvoyance https://target.com/graphql -o schema.json -w graphql-words.txtEvidence checkpointSave the request or command, raw result, timestamp, target, and a negative control before continuing.
Audit misconfigs
Check batching, field suggestions, CSRF (GET/urlencoded), and debug-mode error leakage.
graphql-cop -t https://target.com/graphqlEvidence checkpointSave the request or command, raw result, timestamp, target, and a negative control before continuing.
Object/field authz (BOLA/BFLA)
Query objects by ID across tenants and call privileged mutations as a low-priv user - the top GraphQL vuln.
Evidence checkpointSave the request or command, raw result, timestamp, target, and a negative control before continuing.
Abuse & DoS
Test deeply nested queries, aliases, and batching for mass-assignment and resource exhaustion.
Evidence checkpointSave the request or command, raw result, timestamp, target, and a negative control before continuing.
Field notes
Common guidance
- Aliases let you brute-force (e.g., login) hundreds of times in one request - great for rate-limit bypass.
- Mutations are where authz is most often forgotten.
Related tools
Mapped workflow tools
Sources
References
Version history: normalized permanent page created 2026-08-20.