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
Tools/GitLabGitLab/omar2535/graphqler
SchwachstellenanalyseAPI-SicherheitstestsWebsicherheitFuzzing
GitLabomar2535/graphqler

GraphQLer

☸Das erste abhängigkeitsbewusste GraphQL-API-Testwerkzeug!

Repository anzeigenWebseite
vor 2 JahrenNoch nicht geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

Das einzige abhängigkeitsbewusste GraphQL-API-Testtool!

python3.12 Maintainability lint tests_status security

GraphQLer ist ein hochmodernes Tool, das GraphQL-APIs dynamisch testet, mit einem Fokus auf Anpassungsfähigkeit. Es bietet eine Reihe ausgefeilter Funktionen, die den Testprozess optimieren und eine robuste Analyse von GraphQL-APIs gewährleisten. GraphQLer verwaltet erstellte Objekte und Ressourcen effizient, erkennt Abhängigkeiten von Objekten, Abfragen und Mutationen zuverlässig und korrigiert Fehler in Abfragen dynamisch basierend auf den API-Einschränkungen. GraphQLer wurde bereits verwendet, um viele Fehler in produktionsreifen GraphQL-APIs zu finden!

Video-Demo

Hauptfunktionen

  • Abhängigkeitsbewusstsein: Führen Sie Abfragen und Mutationen basierend auf ihren Abhängigkeiten aus!
  • Dynamisches Testen: Verfolgen Sie während des Testens erstellte Ressourcen.
  • Fehlerkorrektur: Versuchen Sie, Anfragen zu reparieren, damit die GraphQL-API sie akzeptiert.
  • Statistiksammlung: Zeigt Ihre Ergebnisse in einer übersichtlichen Datei an.
  • Benutzerfreundlichkeit: Alles, was Sie brauchen, ist der Endpunkt und vielleicht der Authentifizierungstoken 😁

Erste Schritte

Um mit GraphQLer zu beginnen, lesen Sie die Installationsanleitung.

Verwendung

root@kitploit:~
❯ python3 main.py --help
usage: main.py [-h] [--compile] [--fuzz] [--run] --path PATH [--auth AUTH] --url URL

options:
  -h, --help   show this help message and exit
  --compile    runs on compile mode
  --fuzz       runs on fuzzing mode
  --run        run both the compiler and fuzzer (equivalent of running --compile then running --fuzz)
  --path PATH  directory location for saved files and files to be used from
  --auth AUTH  authentication token Example: 'Bearer arandompat-abcdefgh'
  --url URL    remote host URL

Im Folgenden finden Sie die Schritte, wie Sie dieses Programm zum Testen Ihrer GraphQL-API verwenden können. Die Verwendung ist in zwei Phasen unterteilt: Kompilierung und Fuzzing.

  • Kompilierungsmodus: Dieser Modus führt eine Introspection Query gegen die angegebene API aus und erstellt den Abhängigkeitsgraphen.
  • Fuzzing-Modus: Dieser Modus durchläuft den Abhängigkeitsgraphen und sendet Testanfragen an die API.

Ein dritter Modus ist ebenfalls zur einfacheren Nutzung enthalten, der Run-Modus. Dieser Modus kombiniert den Kompilierungs- und den Fuzzing-Modus in einem einzigen Befehl.

Kompilierungsmodus

root@kitploit:~
(.env) python main.py --compile --url <URL> --path <SAVE_PATH>

Nach der Kompilierung können Sie die kompilierten Ergebnisse in <SAVE_PATH>/compiled einsehen. Zusätzlich wird ein Graph namens dependency_graph.png zur Ansicht erstellt. Alle UNKNOWNS in den kompilierten .yaml-Dateien können manuell markiert werden; wenn sie nicht markiert werden, führt der Fuzzer sie trotzdem aus, jedoch ohne eine Abhängigkeitskette zu verwenden.

Fuzzing-Modus

root@kitploit:~
(.env) python main.py --fuzz --url <URL> --path <SAVE_PATH>

Während des Fuzzings werden Statistiken zur GraphQL-API und etwaige laufende Anfragenanzahlen in der Konsole protokolliert. Rückgabecodes von Anfragen werden in <SAVE_PATH>/stats.txt geschrieben. Alle Protokolle während des Fuzzings werden in <SAVE_PATH>/logs/fuzzer.log gespeichert. Die Protokolldatei gibt genau an, welche Anfragen an welche Endpunkte gesendet wurden und wie die Antwort war. Dies kann zur weiteren Ergebnisanalyse verwendet werden.

Run-Modus

Führt sowohl den Kompilierungs- als auch den Fuzzing-Modus aus.

root@kitploit:~
(.env) python main.py --run --url <URL> --path <SAVE_PATH>

Erweiterte Funktionen

Es gibt auch Variablen, die in der Datei constants.py geändert werden können. Diese entsprechen bestimmten in GraphQLer implementierten Funktionen und können nach Ihren Wünschen angepasst werden.

Tool herunterladen
Variable NameVariable DescriptionVariable TypeDefault
MAX_LEVENSHTEIN_THRESHOLDDer Levenshtein-Abstand zwischen Objekten und Objekt-IDsInteger20
MAX_OBJECT_CYCLESMaximale Anzahl, wie oft dasselbe Objekt in derselben Abfrage/Mutation materialisiert werden sollInteger3
MAX_OUTUPT_SELECTOR_DEPTHMaximale Tiefe, bis zu der die Ausgabe der Abfrage/Mutation erweitert werden soll (z. B. bei unendlich rekursiven Selektoren)Integer3
USE_OBJECTS_BUCKETOb Objekt-IDs für die zukünftige Verwendung gespeichert werden sollen oder nichtBooleanTrue
USE_DEPENDENCY_GRAPHOb die abhängigkeitsbewusste Funktion verwendet werden soll oder nichtBooleanTrue
MAX_FUZZING_ITERATIONSMaximale Anzahl von Fuzzing-Payloads, die auf einem Knoten ausgeführt werden sollenInteger5
MAX_TIMEDie maximale AusführungszeitInteger3600