GraphQL
Hello there, ('ω')ノ ラボの目的 このラボでは、GraphQL APIが抱える情報漏洩の脆弱性を利用して、「非公開ブログ投稿」のパスワードを取得します。 問題の概要 ブログ投稿はGraphQLエンドポイント /graphql/v1 を通じて取得される。 クエリのレスポンス…
Hello there, ('ω')ノ GraphQL APIの脆弱性診断を行う際には、最初にその内部構造(スキーマ)を特定することが極めて重要です。スキーマ情報を取得できれば、どんなクエリが可能か、どのようなデータが取得可能か、脆弱な箇所の特定に大きく貢献します。 ️ …
Hello there, ('ω')ノ 攻撃手法:未サニタイズの引数を悪用する GraphQL APIの中には、クエリの引数(arguments)を使って直接データにアクセスする仕組みを持つものがあります。このような設計では、アクセス制御が不十分な場合、存在するが表示されていな…
Hello there, ('ω')ノ GraphQLエンドポイントとは? GraphQLはすべてのクエリを1つのエンドポイント(URL)に集約する仕組みになっています。そのため、このエンドポイントを特定できれば、すべてのデータ操作の入り口を発見したことになります。 ️ エンド…
Hello there, ('ω')ノ 概要 GraphQLは、クライアントが必要なデータを効率よく取得できる柔軟なAPIですが、その反面、設計ミスや実装ミスが原因で深刻な脆弱性を招くことがあります。 よくある脆弱性 1. イントロスペクション(Introspection)の有効化 Gr…