
InQLは、高度なGraphQLテストのための堅牢でオープンソースのBurp Suite拡張機能であり、直感的な脆弱性検出、カスタマイズ可能なスキャン、シームレスなBurp統合を提供します。
InQLへようこそ。これはオープンソースのGraphQLテストツールです。本ツールは、GraphQLテスト体験をより効率的かつ効果的にするための機能を提供します。
InQLへの信頼に感謝します。テストをお楽しみください!
InQLのユーザーインターフェースは、Scanner、Batch Queries、Engine Fingerprintingの3つの主要コンポーネントで構成されています。

ScannerはInQLの中核であり、GraphQLエンドポイントまたはローカルのイントロスペクションスキーマファイルを分析できます。可能なすべてのクエリ、ミューテーション、サブスクリプションを自動生成し、構造化されたビューに整理して分析を支援します。
✅ カスタマイズ可能なスキャン
InQLはスキャンを柔軟にカスタマイズできます。生成されるクエリの深さやインデントのスペース数を調整できます。また、'Points of Interest'スキャンを実行して、GraphQLスキーマの潜在的な脆弱性を検出することも可能です。
✅ Points of Interest分析
Points of Interestスキャンを実行すると、さまざまな潜在的な脆弱性を網羅した豊富なデータセットが表示されます。これらのカテゴリは必要に応じて有効/無効を切り替えられます。
✅ 循環参照の検出
InQLは循環参照検出を実装しています。スキーマ分析後、スキャナー結果ビューに潜在的に脆弱なクエリを表示します。
✅ Burpとの拡張連携
InQLはBurpとシームレスに統合されており、Burp内の任意のGraphQLリクエストから直接クエリを生成できます。また、自動生成されたクエリを他のBurpツールに送信してさらに分析することも可能です。
✅ カスタムヘッダー
ドメインごとにカスタムヘッダーを設定でき、ドメインリストは観測されたトラフィックから自動入力されます。
Batch Queriesタブでは、バッチGraphQL攻撃を実行できます。これは、不適切に実装されたレート制限を回避するのに役立ちます。
Burpのネイティブメッセージエディタに、新たに'GraphQL (InQL)'タブが追加されました。これにより、GraphQLリクエストの表示と変更を効率的に行えます。また、スキーマのハイライト表示にも対応し、可読性を向上させます。
InQLはGraphiQLとGraphQL Voyagerサーバーを実装しました。分析したスキーマをこれらのサーバーに送信することで、さらに分析を強化できます。
このタブでは、GraphQL URLをスキャンしてバックエンドサーバーの技術情報を取得できます。
このスキャナーは、イントロスペクションが無効な場合にスキーマを再現するよう設計されています。Clairvoyance CLI toolをベースにしており、正規表現パターンマッチングを使用してスキーマの詳細を発見します。
InQLを正常にインストールするには、次の要件を満たしていることを確認してください。
Burp:
Java:
$ sudo apt install -y openjdk-17-jdk
$ java --version
openjdk 17.0.6 2023-01-17
$ # Mac OS & Homebrew:
$ brew install go-task
$ # Debian
$ sudo apt install -y task
$ git clone https://github.com/doyensec/inql
$ cd inql
$ # オプション: devブランチをチェックアウト(壊れている/不安定な可能性あり)
$ git checkout dev
$ task all
これにより、リポジトリのルートにInQL.jarまたは類似のファイルが生成されます。これをBurpにJava拡張機能としてロードします。
開発環境
プロジェクトに貢献したい場合、特別な環境は必要ありません。変更を実装するたびにプロジェクトを再ビルドするだけで済みます。
コードの作業を迅速化するために、変更を行うたびに拡張機能を自動再ビルドすることもできます。kotlinタスクを--watch / -wフラグ付きで実行するだけです:
$ task kotlin -w
InQLはコミュニティの貢献によって成長しています。開発者、研究者、デザイナー、バグハンターを問わず、皆様の専門知識は私たちにとって非常に貴重です。バグ報告、フィードバック、プルリクエストを歓迎します。皆様の参加は、InQLを改善し続け、コミュニティにとってより強力なツールにするのに役立ちます。
インタラクションは主にGitHubのIssueトラッカーを通じて行うのが最適ですが、ソーシャルメディア(@Doyensec)でもお問い合わせいただけます。皆様からのご連絡をお待ちしております!
貢献者の皆様に心から感謝します。皆様の献身とコミットメントは、InQLを今日の姿にする上で不可欠でした。
現行:
過去:
このプロジェクトは、Doyensecの支援を受けて作成されました。