Hello there, ('ω')ノ
以前の GraphQL 脆弱性を使用して
金融セクター ゲートウェイ サイトで最初の報奨金を獲得した方法を。
脆弱性:
情報漏えい
GraphQL バグ
記事:
序章:
Graphqlの基本を学び、利用可能な他のすべてのバグレポートを読むのに。
少なくとも7〜8時間費やし。
この欠陥を発見する前にターゲットのサブドメインを調べていたところ。
api.kivipay.com を発見し。
Rest-API の代わりに graphql を使用していることを発見して。
graphql の詳細については、https://graphql.org/ を参照して。
Rest-API は Graphql に置き換えることができて。
申請に関して:
ユーザは、このプログラムを使用して、国内のさまざまな組織や銀行に送金できて。
1.最初に、アプリケーションのリクエストを Burp プロキシ経由でルーティングし。
次にテストを実行し。
お金を別のテスト アカウントに移動するなどの特定の操作がその例で。
2.考えられるすべての手順を実行した後、すべてのhttpリクエストを確認し。
そこで、すべての http リクエストを確認した後、他の人にお金を渡すときに。
生成されるエンドポイントに注目して。
3.送金する前に、アプリケーションは。
2番目の組織が登録されているかどうかを確認し。
これは、組織がプラットフォームに登録されているかどうかを。
確認する Graphql クエリで。
4.次に、応答で「__typename:- Auth org」を探し。
5.「__typename:- Auth org」フィールドの値をすべて調べることにして。
6.イントロスペクション クエリを使用して。
すべての __typename およびフィールド値を取得でき。
その結果、イントロスペクション クエリ
https://api.kivipay.com/graphq?query={__schema{types{name,fields{name}}}}
を実行して。
すべての型名とフィールド値がスローされ。
7.そこで、Auth org をテスト用の Auth リクエストに置き換えたところ。
期待どおりにすべての情報がスローされ。
あらゆるトランザクションを実行できるようになり。
したがって、テスト API だけで誰の機密情報も取得でき。
同様に、自分の残高、ウォレット アドレスを使用して。
トランザクションを実行する可能性があり、組織内の他のユーザに関する情報を。
表示する権限がないことが明らかになり。
Best regards, (^^ゞ