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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
CrackQL — 弱いレート制限とコスト分析を悪用し、バッチエイリアスクエリを通じて認証情報の総当たり、2FAバイパス、ユーザーの列挙、操作のファジングを行うGraphQL侵入テストツール。 | Kitploit
ツール/GitHubGitHub/nicholasaleks/crackql
パスワード攻撃ウェブアプリケーション悪用APIセキュリティテストファジングペネトレーションテスト
GitHubnicholasaleks/crackql

CrackQL

弱いレート制限とコスト分析を悪用し、バッチエイリアスクエリを通じて認証情報の総当たり、2FAバイパス、ユーザーの列挙、操作のファジングを行うGraphQL侵入テストツール。

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

人気

すべて見る →

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

すべてのツールを探索

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

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

CrackQL

CrackQLは、GraphQLパスワードのブルートフォースおよびファジングユーティリティです。

CrackQL

CrackQLは、レート制限とコスト分析の制御が不十分な脆弱性を悪用して、資格情報のブルートフォースや操作のファジングを行う多機能なGraphQLペネトレーションテストツールです。

目次

  • 仕組み
  • 攻撃ユースケース
    • 防御回避
    • パスワードスプレー型ブルートフォース
    • 二要素認証OTPバイパス
    • ユーザーアカウントの列挙
    • 安全でない直接オブジェクト参照
    • 汎用ファジング
  • 入力
  • インストール
  • 設定
  • メンテナー
  • 謝辞

仕組み

CrackQLは、単一のGraphQLクエリまたはミューテーションを複数のエイリアス操作に自動的にバッチ処理します。CSV入力変数に基づいて使用するエイリアス数を決定します。プログラムでバッチ化されたGraphQLドキュメントを生成した後、CrackQLはペイロードをターゲットのGraphQL APIにバッチ送信し、結果とエラーを解析します。

攻撃ユースケース

CrackQLは、動的な入力リストに基づいてプログラムでペイロードを生成するため、幅広いGraphQL攻撃に使用できます。

防御回避

Burp Intruderが各ペイロードに対して個別のリクエストを送信するのとは異なり、CrackQLは複数のエイリアスクエリを使用して、大量の資格情報を単一のHTTPリクエストに詰め込むことで、従来のAPI HTTPレート制限監視防御を回避します。クエリコスト分析防御を回避するために、CrackQLは一連の小さなバッチ操作(-b)と時間遅延(-D)を使用して最適化できます。

パスワードスプレー型ブルートフォース

CrackQLは、インバンドのGraphQL認証操作(GraphQL Authentication Moduleなど)を利用するGraphQLデプロイメントに対して最適です。以下のパスワードスプレーの例は、sample-inputs/users-and-passwords.csv辞書を使用してDVGAに対して機能します。

sample-queries/login.graphql

root@kitploit:~
mutation {
  login(username: {{username|str}}, password: {{password|str}}) {
    accessToken
  }
}

二要素認証OTPバイパス

CrackQLを使用して、すべてのOTP(ワンタイムパスワード)トークンを送信することで、二要素認証をバイパスすることが可能です。

sample-queries/otp-bypass.graphql

root@kitploit:~
mutation {
  twoFactor(otp: {{otp|int}}) {
    accessToken
  }
}

ユーザーアカウントの列挙

CrackQLは、有効なユーザーID、ユーザー名、メールアドレスを発見するための列挙攻撃にも使用できます。

sample-queries/enumeration.graphql

root@kitploit:~
query {
  signup(email: {{email|str}}, password: {{password|str}}) {
    user {
      email
    }
  }
}

安全でない直接オブジェクト参照

CrackQLを使用して、多数の潜在的な一意識別子を反復処理し、オブジェクト情報を漏洩させることができます。

sample-queries/idor.graphql

root@kitploit:~
query {
  profile(uuid: {{uuid|int}}) {
    name
    email
    picture
  }
}

汎用ファジング

CrackQLは、SQLiやXSSペイロードの送信など、一般的な入力ファジング操作に使用できます。

入力

CrackQLは、CSVファイルで定義された入力変数に基づいてペイロードを生成します。CSVヘッダーは入力名と一致する必要があります。

sample-inputs/usernames_and_passwords.csv

root@kitploit:~
username, password
admin, admin
admin, password
admin, pass
admin, pass123
admin, password123
operator, operator
operator, password
operator, pass
operator, pass123
operator, password123

有効な入力タイプ

  • str
  • int
  • float

インストール

必要条件

  • Python3
  • Requests
  • GraphQL
  • Jinja

リポジトリのクローン

root@kitploit:~
git clone [email protected]:nicholasaleks/CrackQL.git

依存関係のインストール

pip install -r requirements.txt

CrackQLの実行

python3 CrackQL.py -h

root@kitploit:~
Usage: python3 CrackQL.py -t http://example.com/graphql -q sample-queries/login.graphql -i sample-inputs/usernames_and_passwords.csv

Options:
  -h, --help            ヘルプメッセージを表示して終了
  -t URL, --target=URL  ターゲットのGraphQLエンドポイントへのURL
  -q QUERY, --query=QUERY
                        変数ペイロードマーカー付きの入力クエリまたはミューテーション操作
  -i INPUT_CSV, --input-csv=INPUT_CSV
                        引数リストのCSVファイルへのパス(例:ユーザー名、メール、ID、パスワード、OTPトークンなど)
  -d DELIMITER, --delimiter=DELIMITER
                        CSV入力の区切り文字(デフォルト:",")
  -o OUTPUT_DIRECTORY, --output-directory=OUTPUT_DIRECTORY
                        結果を保存する出力ディレクトリ(デフォルト:./results/[domain]_[uuid]/)
  -b BATCH_SIZE, --batch-size=BATCH_SIZE
                        GraphQLドキュメントリクエストあたりのバッチ操作数(デフォルト:100)
  -D DELAY, --delay=DELAY
                        バッチリクエスト間の時間遅延(秒)(デフォルト:0)
  --verbose             詳細なメッセージを表示
  -v, --version         現在のバージョンを表示して終了

設定

config.pyを使用して、エンドポイントが認証を必要とする場合にHTTPクッキー、ヘッダー、プロキシを設定します。

メンテナー

  • Nick Aleks
  • Dolev Farhi

謝辞

  • Kitploit
ツールをダウンロード