Skip to content
KitploitKITPLOIT
ツールブログ
提出
ツールブログ
提出

ハッキング、侵入テスト、サイバーセキュリティツールをあなたのセキュリティアーセナルに!

Kitploitはハッキング、サイバーセキュリティ、ペネトレーションテストのツールディレクトリです。最新のプロジェクトアップデートを見つけて、脆弱性の発見、システム分析、テストの自動化、セキュリティの強化を行いましょう。

··フィード·お問い合わせ·プライバシー·© 2026 Kitploit

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
graphw00f — 良性および不正なクエリを送信してバックエンド技術を特定し、GraphQL Threat Matrixを介してセキュリティ防御を評価するGraphQLサーバーエンジンフィンガープリンティングツール。 | Kitploit
ツール/GitHubGitHub/dolevf/graphw00f
偵察APIセキュリティテスト情報収集ウェブセキュリティ
GitHubdolevf/graphw00f

graphw00f

良性および不正なクエリを送信してバックエンド技術を特定し、GraphQL Threat Matrixを介してセキュリティ防御を評価するGraphQLサーバーエンジンフィンガープリンティングツール。

リポジトリを見る
884983ヶ月前Kitploit レビュー済み

人気

すべて見る →

コミュニティで最も使われているツールを見つけましょう。

すべてのツールを探索

ツールコレクションを閲覧

すべてのツールを見る →
共有

graphw00f

ロゴはNick Aleks氏に感謝!

graphw00f - GraphQLサーバーのフィンガープリンティング

目次

  • 動作原理
  • 検出機能
  • GraphQL脅威マトリックス
  • 前提条件
  • インストール
  • 設定
  • 使用例
    • GraphQLのフィンガープリンティング
    • GraphQLの検出とフィンガープリンティング
  • サポートと問題
  • リソース

動作原理

graphw00f(wafw00fに触発された)は、GQLエンドポイント向けのGraphQLフィンガープリンティングツールです。正常なクエリと不正なクエリを混在して送信し、バックエンドで動作しているGraphQLエンジンを特定します。graphw00fはGraphQL Threat Matrixプロジェクトを利用して、各テクノロジーが標準で提供するセキュリティ防御機能と、それらがデフォルトで有効か無効かについての洞察を提供します。

特別に細工されたクエリは、さまざまなGraphQLサーバーの実装がクエリ、ミューテーション、サブスクリプションに対して独自の応答を返す原因となります。これにより、バックエンドエンジンのフィンガープリンティングと、さまざまなGraphQL実装の識別が容易になります。(CWE: CWE-200)

graphw00fは、GETベースまたはPOSTベースのクエリを使用するGraphQLサーバーの検出とフィンガープリンティングをサポートしています。

検出機能

graphw00fは現在、以下のGraphQLエンジンの検出を試みます。

  • 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脅威マトリックス

graphw00fプロジェクトは、GraphQL Threat Matrix Projectをテクノロジーセキュリティマトリックスデータベースとして使用しています。graphw00fがGraphQLエンドポイントのフィンガープリンティングに成功すると、脅威マトリックスドキュメントが出力されます。このドキュメントは、セキュリティエンジニアがテクノロジーの成熟度、提供するセキュリティ機能、およびCVEが含まれているかどうかを特定するのに役立ちます。

GraphQL脅威マトリックス

前提条件

  • python3
  • requests

インストール

リポジトリのクローン

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

graphw00fの実行

root@kitploit:~
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.

設定

graphw00fには多くの設定は必要ありません。ただし、特定のエンドポイントに対してAuthorizationヘッダーやCookieを設定する必要がある場合は、conf.pyファイルを使用してください。

root@kitploit:~
# Custom Headers
HEADERS = {'User-Agent':'graphw00f'}

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

--user-agentを使用すると、conf.pyファイルにUser-Agentキーがあるかどうかに関わらず追加されます。ファイルにすでにキーが存在する場合、コマンドラインパラメータがそれを上書きします。

使用例

GraphQLのフィンガープリンティング

これは、GraphQLの場所が事前にわかっているエンドポイント(/graphql)をフィンガープリントする(-f)例です。

root@kitploit:~
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.

GraphQLの検出とフィンガープリンティング

これは、graphw00fがGraphQLの存在を検出(-d)してからフィンガープリンティング処理(-f)を実行する例です。

root@kitploit:~
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.

サポートと問題

graphw00fに関する問題(誤検知、不正確な検出、バグなど)がある場合は、環境の詳細を添えてGitHub Issueを作成してください。

リソース

GraphQLについてもっと学びたいですか?私の別のプロジェクトにアクセスして、GraphQLをハッキングしてみましょう:Damn Vulnerable GraphQL Application

ツールをダウンロード