Skip to content
KitploitKITPLOIT
ToolsBlog
Log in
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.

FeedsKontaktDatenschutz© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
graphw00f — GraphQL-Server-Engine-Fingerprinting-Tool, das wohlgeformte und fehlerhafte Abfragen sendet, um die Backend-Technologie zu identifizieren und Sicherheitsmaßnahmen anhand der GraphQL Threat Matrix zu bewerten. | Kitploit
Tools/GitHubGitHub/dolevf/graphw00f
AufklärungWeb-SchwachstellenscannerDynamische Code-Analyse (DAST)Webanwendungs-ExploitationAPI-SicherheitstestsInformationsbeschaffungWebsicherheitAPI-SicherheitTop in API-Sicherheit Nr.6Top in API-Sicherheitstests Nr.6
8849832vor 4 MonatenVon Kitploit geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Top in Dynamische Code-Analyse (DAST) Nr.16
Top in Webanwendungs-Exploitation Nr.17
Top in Websicherheit Nr.16
Top in Web-Schwachstellenscanner Nr.16
GitHubdolevf/graphw00f

graphw00f

GraphQL-Server-Engine-Fingerprinting-Tool, das wohlgeformte und fehlerhafte Abfragen sendet, um die Backend-Technologie zu identifizieren und Sicherheitsmaßnahmen anhand der GraphQL Threat Matrix zu bewerten.

Repository anzeigen
Teilen

graphw00f

Dank an Nick Aleks für das Logo!

graphw00f – GraphQL-Server-Fingerprinting

Inhaltsverzeichnis

  • Wie funktioniert es?
  • Erkennungen
  • GraphQL Threat Matrix
  • Voraussetzungen
  • Installation
  • Konfiguration
  • Beispielnutzung
    • Fingerprinting von GraphQL
    • Erkennung und Fingerprinting von GraphQL
  • Support und Probleme
  • Ressourcen

Wie funktioniert es?

graphw00f (inspiriert von wafw00f) ist das GraphQL-Fingerprinting-Tool für GQL-Endpoints. Es sendet eine Mischung aus harmlosen und fehlerhaften Abfragen, um die dahinterliegende GraphQL-Engine zu bestimmen. graphw00f nutzt das GraphQL Threat Matrix-Projekt, um Einblicke zu geben, welche Sicherheitsabwehr jede Technologie standardmäßig bietet und ob diese standardmäßig aktiviert oder deaktiviert sind.

Speziell erstellte Abfragen führen dazu, dass verschiedene GraphQL-Server-Implementierungen unterschiedlich auf Abfragen, Mutationen und Subscriptions reagieren. Dies macht es trivial, die Backend-Engine zu identifizieren und zwischen den verschiedenen GraphQL-Implementierungen zu unterscheiden. (CWE: CWE-200)

graphw00f unterstützt die Erkennung und das Fingerprinting von GraphQL-Servern, die entweder GET- oder POST-basierte Abfragen verwenden.

Erkennungen

graphw00f versucht derzeit, die folgenden GraphQL-Engines zu erkennen:

  • Graphene - Python
  • Ariadne - Python
  • Apollo - TypeScript
  • graphql-go - Go
  • gqlgen - Go
  • WPGraphQL - PHP
  • GraphQL API for Wordpress - PHP
  • Gato GraphQL - PHP
  • graphql-ruby - Ruby
  • graphql-php - PHP
  • Hasura - Haskell
  • HyperGraphQL - Java
  • graphql-java - Java
  • Juniper - Rust
  • Sangria - Scala
  • Flutter - Dart
  • Diana.jl - Julia
  • Strawberry - Python
  • Tartiflette - Python
  • Dgraph - JavaScript
  • Directus - TypeScript
  • AWS AppSync
  • GraphQL Yoga - TypeScript
  • Lighthouse - PHP
  • Agoo - Ruby
  • Mercurius - JavaScript
  • morpheus-graphql - Haskell
  • Lacinia - Clojure
  • Caliban - Scala
  • jaal - Golang
  • absinthe-graphql - Elixir
  • GraphQL.NET - Microsoft .NET
  • pg_graphql - Rust
  • tailcall - Rust
  • Hot Chocolate - Microsoft .NET
  • Inigo - Go
  • ballerina-graphql - Ballerina

GraphQL Threat Matrix

Das graphw00f-Projekt verwendet das GraphQL Threat Matrix Project als seine Technologiesicherheits-Matrix-Datenbank. Wenn graphw00f erfolgreich einen GraphQL-Endpoint identifiziert, wird das Threat-Matrix-Dokument ausgegeben. Dieses Dokument hilft Sicherheitsingenieuren dabei, den Reifegrad der Technologie, die angebotenen Sicherheitsfunktionen und das Vorhandensein von CVEs zu identifizieren.

GraphQL Threat Matrix

Voraussetzungen

  • python3
  • requests

Installation

Repository klonen

git clone https://github.com/dolevf/graphw00f.git

graphw00f ausführen

Usage: main.py -d -f -t http://example.com

Options:
  -h, --help            show this help message and exit
  -r, --noredirect      Do not follow redirections given by 3xx responses
  -t URL, --target=URL  target url with the path
  -f, --fingerprint     fingerprint mode
  -d, --detect          detect mode
  -p PROXY, --proxy=PROXY
                        HTTP(S) proxy URL in the form
                        http://user:pass@host:port
  -T TIMEOUT, --timeout=TIMEOUT
                        Request timeout in seconds
  -o OUTPUT_FILE, --output-file=OUTPUT_FILE
                        Output results to a file (CSV)
  -l, --list            List all GraphQL technologies graphw00f is able to
                        detect
  -u USERAGENT, --user-agent=USERAGENT
                        Custom user-agent to use (overrides the one from
                        headers configuration)
  -H HEADER, --header=HEADER
                        Custom headers to send (e.g. "Authorization: Bearer
                        ey...").
  -w WORDLIST, --wordlist=WORDLIST
                        Path to a list of custom GraphQL endpoints
  -v, --version         Print out the current version and exit.

Konfiguration

Für graphw00f sind nicht viele Konfigurationen erforderlich. Wenn Sie jedoch z. B. Authorization-Header oder Cookies für einen bestimmten Endpoint setzen müssen, verwenden Sie die Datei conf.py.

# Custom Headers
HEADERS = {'User-Agent':'graphw00f'}

# Custom Cookies
COOKIES = {"PHPSESS":"DEADBEEF"}

Die Verwendung von --user-agent fügt den Schlüssel User-Agent hinzu, unabhängig davon, ob die Datei conf.py ihn enthält. Wenn die Datei bereits einen enthält, überschreibt der Befehlszeilenparameter diesen.

Beispiel

Fingerprinting von GraphQL

Dies ist ein Beispiel, wie man einen Endpoint identifiziert (-f), dessen GraphQL-Pfad bereits bekannt ist (/graphql).

python3 main.py -f -t https://demo.hypergraphql.org:8484/graphql

                +-------------------+
                |     graphw00f     |
                +-------------------+
                  ***            ***
                **                  ***
              **                       **
    +--------------+              +--------------+
    |    Node X    |              |    Node Y    |
    +--------------+              +--------------+
                  ***            ***
                     **        **
                       **    **
                    +------------+
                    |   Node Z   |
                    +------------+

                graphw00f - v1.0.7
          The fingerprinting tool for GraphQL
           Dolev Farhi <[email protected]>

[*] Checking if GraphQL is available at https://demo.hypergraphql.org:8484/graphql...
[*] Found GraphQL...
[*] Attempting to fingerprint...
[*] Discovered GraphQL Engine: (HyperGraphQL)
[!] Attack Surface Matrix: https://github.com/dolevf/graphw00f/blob/main/docs/hypergraphql.md
[!] Technologies: Java
[!] Homepage: https://www.hypergraphql.org
[*] Completed.

Erkennung und Fingerprinting von GraphQL

Dies ist ein Beispiel, wie graphw00f erkennen kann (-d), wo sich GraphQL befindet, und dann den Fingerprinting-Prozess ausführt (-f).

python3 main.py -f -d -t http://localhost:5000

                +-------------------+
                |     graphw00f     |
                +-------------------+
                  ***            ***
                **                  ***
              **                       **
    +--------------+              +--------------+
    |    Node X    |              |    Node Y    |
    +--------------+              +--------------+
                  ***            ***
                     **        **
                       **    **
                    +------------+
                    |   Node Z   |
                    +------------+

                graphw00f - v1.1.2
          The fingerprinting tool for GraphQL
           Dolev Farhi <[email protected]>

[*] Checking http://dvga.example.local:5000/graphql
[!] Found GraphQL at http://dvga.example.local:5000/graphql
[*] Attempting to fingerprint...
[*] Discovered GraphQL Engine: (Graphene)
[!] Attack Surface Matrix: https://github.com/nicholasaleks/graphql-threat-matrix/blob/master/implementations/graphene.md
[!] Technologies: Python
[!] Homepage: https://graphene-python.org
[*] Completed.
Tool herunterladen