Identify the vulnerability
-
In Burp's browser, access the blog page.
-
In Burp, go to Proxy > HTTP history and notice the following:
- Blog posts are retrieved using a GraphQL query.
- In the response to the GraphQL query, each blog post has its own sequential
id. - Blog post
id3 is missing from the list. This indicates that there is a hidden blog post.
-
Find the
POST /graphql/v1request. Right-click it and select Send to Repeater. -
In Repeater, right-click anywhere in the Request panel of the message editor and select GraphQL > Set introspection query to insert an introspection query into the request body.
-
Send the request. Notice in the response that the
BlogPosttype has apostPasswordfield available.
Exploit the vulnerability to find the password
-
In the HTTP history, find the
POST /graphql/v1request. Right-click it and select Send to Repeater. -
In Repeater, click on the GraphQL tab. In the Variables panel, modify the
idvariable to 3 (the ID of the hidden blog post). -
In the Query panel, add the
postPasswordfield to the query. -
Send the request.
-
Copy the contents of the response's
postPasswordfield and paste them into the Submit solution dialog to solve the lab. You may need to refresh the page.