WGQL - GraphQL Hacking and Defenses
Last updated
Last updated
DCODX provides security workshops to help your developers, security teams, and engineers to step up their application security knowledge, exploiting and fixing security issues through full hands-on trainings.
The workshop is meant for developers, architects and security folks. During the workshop we will learn how to setup a GraphQL project, define a schema, create Query, Mutation and Subscription for a "fake" social network. We will learn what are the main security issues to consider when developing a GraphQL application:
Introspection: information disclosure
/graphql as a single point of failure (DoS attacks)
IDOR
Broken Access control
Injections
Once we get familiar with the issues, we will explain how to avoid it and/or fix it.
Module
Topic
Time
[1] Intro
30 mins
GraphQL introduction
GraphQL vs REST API
Common use cases
[2] GraphQL basics
1 hour
Create a schema
Define operations
Query
Mutation
Subscription
Burp and GraphQL plugins
LAB
[3] Security implications in GraphQL
1 hour
What can go wrong: intro
Introspection
Nested looping queries: DoS
Injections
Broken Access Control
IDOR
[4] Introspection
1 hour
What’s introspection
How to use it
How to abuse it
How to prevent it
LAB
[5] DoS
1 hour
Nested queries
Loops in schema
Complexity calculation
DoS: Why
How to prevent it
LAB
[6] Broken Authorization and IDOR
1.30 hours
IDOR intro
How to discover IDOR
Introspection is our friend
How to avoid it
Implement correctly authorization in GraphQL
LAB
[7] Injections
1 hour
Not GraphQL issues
Discover possible injections
SQL injections
Command injections
How to prevent it
LAB
Labs available on Github