Hunting and Exploiting
GraphQL Vulnerability
for Phun and Profit
by SecLab Indonesia IDSECCONF 2024
whoami
Rifqi Hilmy Zhafrant
Penetration Tester @seclab.id
Bug Bounty Hunter (@hackerone)
Student of brawijaya university
First Timer at IDSECCONF
GraphQL Concepts
Case Studies
Attack on dummy and real world
application.
Agenda
Schema Definition and schema introspection.
The Traversal Attack
Attack methodology.
Summary
Recap the session.
GraphQL Concepts
GraphQL
Defining Type
ScalarType (ID, Int, Float String, Boolean)
ObjectType
EnumType
used to manipulate (create, update, delete) data.
used to read data.
GraphQL Mutation
GraphQL Query
Root Operation
Resolver
Query Resolver
Query Client-Side Usage
Mutation
The Metadata Fields
Introspection Query
Introspection Query
GraphQL Voyager
Source:
https://graphql-kit.com/graphql-voyager/
The Traversal Attack
(I prefer “Object Chaining” Attack)
Traversal Attack?
Attack Flow
Introspect the Schema Identify and Find Route
to Target Fields
Construct and Execute
Query
Case Studies
The Dummy Application
The Dummy Application
The Dummy Application
Attack - Introspect the Schema
Attack - Introspect the Schema
Target
Attack - Identify and Find Route to Target Fields
Attack - Identify and Find Route to Target Fields
Attack - Identify and Find Route to Target Fields
Attack - Identify and Find Route to Target Fields
Attack - Identify and Find Route to Target Fields
Attack - Identify and Find Route to Target Fields
Attack - Identify and Find Route to Target Fields
Attack - Construct and Execute Query (Demo)
Attack - Construct and Execute Query
Target: OrganizationObject
Real World Scenario
Real Case PoC
Exploitation
Query
Summary
GraphQL Concepts
(Schema definition,
schema introspection)
Traversal Attack
(Methodology and
attack flow)
Case Studies
(Implementation)
Thank You
Rifqi Hilmy Zhafrant

IDSECCONF2024 - Rifqi Hilmy Zhafrant - Hunting and Exploiting GraphQL Vulnerability for Phun and Profit.pdf