Lab: Bypassing GraphQL brute force protections
The user login mechanism for this lab is powered by a GraphQL API. The API endpoint has a rate limiter that returns an error if it receives too many requests from the same origin in a short space of time.
To solve the lab, brute force the login mechanism to sign in as carlos
. Use the list of authentication lab passwords as your password source.
This lab requires you to craft a large request that uses aliases to send multiple login attempts at the same time. As this request could be time-consuming to create manually, we recommend you use a script to build the request.
The below example JavaScript builds a list of aliases corresponding to our list of authentication lab passwords and copies the request to your clipboard. To run this script:
Open the lab in Burp's browser.
Right-click the page and select Inspect.
Select the Console tab.
Paste the script and press Enter.
You can then use the generated aliases when crafting your request in Repeater.
Steps
Open Burp Suite and visit the target website
Send the POST /graphql/v1 Login request to the repeater
In the browser window copy the javascript code that is given in the hint section and execute
Go to the Repeater tab and paste the copied payload inside mutation section
Send the request
In the response tab search for the value true in the bottom search bar
We can see the brute force index which we can now see the bruteforce index in the request tab to view the password of Carlos
Login using Carlos user to solve the lab.
Last updated