GraphQL
Various test cases
Testing Methodology
1. Discovery
2. Schema via Introspection Query
{"query": "query IntrospectionQuery {schema {queryType { name },mutationType { name },subscriptionType { name },types {...FullType},directives {name,description,args {...InputValue},onOperation,onFragment,onField}}}\nfragment FullType on Type {kind,name,description,fields(includeDeprecated: true) {name,description,args {...InputValue},type {...TypeRef},isDeprecated,deprecationReason},inputFields {...InputValue},interfaces {...TypeRef},enumValues(includeDeprecated: true) {name,description,isDeprecated,deprecationReason},possibleTypes {...TypeRef}}\nfragment InputValue on InputValue {name,description,type { ...TypeRef },defaultValue}\nfragment TypeRef on Type {kind,name,ofType {kind,name,ofType {kind,name,ofType {kind,name}}}}"}{"operationName":"xyz","variables":{},"query":"query xyz {getd }"}3. Burp Active Scan of GraphQL operations
4. Access endpoint without a token or Authorization header
5. Injection
6. IDOR eg. variables
7. DOS
8. Deprecated Operations/Fields
Last updated