← all rooms
GraphQL
Medium
GraphQL IDOR
Enumerate GraphQL user objects and steal admin's secret.
Mission briefing
PeopleGraph exposes a GraphQL API for an HR directory with users and secrets. The schema allows fetching any user record by numeric id. Determine whether confidential fields are exposed without proper authorisation.
0 / 1 tasks
0 / 10 pts
Room cleared
Every task in this room is done. Your rank progress just moved forward.
Objectives
- Query user(id) without authz
Task 1 IDOR query Medium 10 pts
Scenario
PeopleGraph lets clients query user records by id through a GraphQL API. Each user object includes a secret field meant for HR only. Retrieve the administrator's secret without authorisation.
Your approach
- Open the GraphQL IDE or POST endpoint and explore the schema.
- Query user objects with different numeric ids.
- Request the secret field on the admin user's record.
- Copy the admin secret flag from the response.
- Submit that flag.
Find the admin user secret.
Open lab →Hint
{ user(id: 3) { secret } }