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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
ツール/GitHubGitHub/cybervelia/graphicator
APIセキュリティテスト情報収集ウェブセキュリティペネトレーションテスト
GitHubcybervelia/graphicator

graphicator

GraphQLスキーマの列挙とデータ抽出を自動化するツール。イントロスペクションドキュメントを反復処理し、クエリを再構築し、レスポンスを保存して、ペネトレーションテストやAPIセキュリティ評価に利用します。

リポジトリを見る
134133年前Kitploit レビュー済み

人気

すべて見る →

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

すべてのツールを探索

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

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

Graphicator

Graphicator は、GraphQL の「スクレイパー」/抽出ツールです。このツールは、対象の GraphQL エンドポイントが返すイントロスペクションドキュメントを反復処理し、スキーマを内部形式に再構築して、サポートされているクエリを再作成します。作成されたクエリを使用してエンドポイントにリクエストを送信し、返されたレスポンスをファイルに保存します。

エラーレスポンスは保存されません。デフォルトでは、ツールは正しいレスポンスとエラーの両方をキャッシュするため、再実行時に同じクエリに対して再度アクセスすることはありません。

賢明に使用し、操作する許可を得たターゲットに対してのみ使用してください。

このツールが、ペネトレーションテスターとしての自身のテストを自動化し、まだ GraphQL テストを行っていない人にも後押しを与えることを願っています。

GraphQL エンドポイントの評価方法を学ぶには: https://cybervelia.com/?p=736&preview=true

インストール

システムにインストール

root@kitploit:~
python3 -m pip install -r requirements.txt

コンテナを使用する場合

root@kitploit:~
docker run --rm -it -p8005:80 cybervelia/graphicator --target http://the-target:port/graphql --verbose

タスクが完了すると、結果が zip ファイルに圧縮され、ポート 8005 で提供される Web サーバーを介して提供されます。コンテナを停止するには、CTRL+C を押します。コンテナが停止されると、データも削除されます。また、必要に応じてホストポートを変更することもできます。

使い方

root@kitploit:~
python3 graphicator.py [args...]

ターゲットの設定

最初のステップはターゲットを設定することです。そのためには、--target オプションまたは --file を使用したファイルのいずれかを指定する必要があります。

引数で単一のターゲットを設定

root@kitploit:~
python3 graphicator.py --target https://subdomain.domain:port/graphql

複数のターゲットを設定

root@kitploit:~
python3 graphicator.py --target https://subdomain.domain:port/graphql --target https://target2.tld/graphql

ファイルでターゲットを設定

root@kitploit:~
python3 graphicator.py --file file.txt

ファイルには、次のように 1 行に 1 つの URL を含める必要があります。

root@kitploit:~
http://target1.tld/graphql
http://sub.target2.tld/graphql
http://subxyz.target3.tld:8080/graphql

プロキシの使用

ツールを任意のプロキシに接続できます。

デフォルトの Burp 設定 (ポート 8080) に接続

root@kitploit:~
python3 graphicator.py --target target --default-burp-proxy

独自のプロキシに接続

root@kitploit:~
python3 graphicator.py --target target --use-proxy

Tor 経由で接続

root@kitploit:~
python3 graphicator.py --target target --use-tor

ヘッダーの使用

root@kitploit:~
python3 graphicator.py --target target --header "x-api-key:60b725f10c9c85c70d97880dfe8191b3"

Verbose モードの有効化

root@kitploit:~
python3 graphicator.py --target target --verbose

マルチスレッドの有効化

root@kitploit:~
python3 graphicator.py --target target --multi

安全でない自己署名証明書の警告を無効化

root@kitploit:~
python3 graphicator.py --target target --insecure

キャッシュ結果を使用しない

root@kitploit:~
python3 graphicator.py --target target --no-cache

例

root@kitploit:~
python3 graphicator.py --target http://localhost:8000/graphql --verbose --multi

  _____                  __    _             __           
 / ___/____ ___ _ ___   / /   (_)____ ___ _ / /_ ___   ____
/ (_ // __// _ `// _ \ / _ \ / // __// _ `// __// _ \ / __/
\___//_/   \_,_// .__//_//_//_/ \__/ \_,_/ \__/ \___//_/   
               /_/                                         

By @fand0mas

[-] Targets:  1
[-] Headers:  'Content-Type', 'User-Agent'
[-] Verbose
[-] Using cache: True
************************************************************
  0%|                                                     | 0/1 [00:00<?, ?it/s][*] Enumerating... http://localhost:8000/graphql
[*] Retrieving... => query {getArticles  { id,title,views } }
[*] Retrieving... => query {getUsers  { id,username,email,password,level } }
100%|█████████████████████████████████████████████| 1/1 [00:00<00:00, 35.78it/s]
root@kitploit:~
$ cat reqcache/9652f1e7c02639d8f78d1c5263093072fb4fd06c.json 
{
    "data": {
        "getUsers": [
            {
                "id": 1,
                "username": "theo",
                "email": "[email protected]",
                "password": "1234",
                "level": 1
            },
            {
                "id": 2,
                "username": "john",
                "email": "[email protected]",
                "password": "5678",
                "level": 1
            }
        ]
    }
}
root@kitploit:~
$ cat reqcache-queries/9652f1e7c02639d8f78d1c5263093072fb4fd06c.query 
query {getUsers  { id,username,email,password,level } }

出力構成

3 つのフォルダが作成されます。

  • reqcache: 有効な各クエリのレスポンスが JSON 形式で保存されます
  • reqcache-intro: すべてのイントロスペクションクエリがこのディレクトリ内の個別ファイルに保存されます
  • reqcache-queries: すべてのクエリがこのディレクトリ内の個別ファイルに保存されます。各クエリのファイル名は、そのクエリのレスポンスを保持する reqcache ディレクトリ内の対応するファイル名と一致します。

ファイル名は、クエリと URL を考慮したハッシュです。

ライセンスおよび EULA

Copyright 2023 Cybervelia Ltd

本ソフトウェアおよび関連文書ファイル(以下「ソフトウェア」)の複製を入手する者に対して、ソフトウェアを制限なく扱う権利(使用、複製、変更、統合、公開、頒布、サブライセンス、および/または販売する権利を含むがこれらに限定されない)を無償で許可します。また、ソフトウェアが提供されるすべての者に対しても、同様の権利を許可します。ただし、以下の条件に従うものとします。

上記の著作権表示およびこの許可表示は、ソフトウェアのすべての複製または重要な部分に含まれるものとします。

ソフトウェアは「現状のまま」提供され、明示的または黙示的を問わず、いかなる種類の保証も行われません。これには、商品性、特定目的への適合性、および権利非侵害に関する保証が含まれますが、これらに限定されません。いかなる場合も、著作権者または著作権保持者は、契約行為、不法行為、またはそれ以外の行為に基づく、ソフトウェアまたはソフトウェアの使用またはその他の取引に起因または関連するいかなる請求、損害、またはその他の責任も負いません。

メンテナー

このツールは (@fand0mas) によって作成および保守されています。

コントリビューションも歓迎します。

ツールをダウンロード