Hello there, ('ω')ノ
[GraphQL IDOR]数千人のユーザーのクレジットカード情報が流出を。
脆弱性:
IDOR
GraphQL
記事:
今回は、2 つの異なる Graphql エンドポイントを利用することで。
大量の情報を見つけることができ。
GraphQL IDOR の検索:
redacted.com で最初の偵察を行っているときに、Web アプリケーションが。
API 管理に GraphQL を使用していることがわかり。
クエリを読み取り可能な形式に変換するためにGraphQL Raider拡張機能を使用して。
これは、GraphQL クエリと変数を、読み取り不能な JSON 本体から。
クエリと変数が別々のタブに表示される読み取り可能な形式に変換し。
GraphQL Raiderは、「id」変数を挿入ポイントとして抽出して。
このリクエストへの応答には、クレジット カード情報を含むユーザの。
個人情報が含まれていて。
2 つのアカウントを作成し、IDOR を確認し。
アプリケーションは IDOR に対して脆弱であり、別のアカウントの。
個人情報を取得することができて。
奇妙な機能の発見:
ID 変数は 12 文字の長い文字列であるため、値を推測したり。
力ずくで調べたりすることはできず。
id パラメータを取得する方法を探していたところ。
Burp Suiteのリピータ タブを調べたところ、興味深いエンドポイントが見つかり。
エンドポイントはフォローしているリストを取得し。
応答にはフォローしているユーザの ID 値とプロフィール写真が含まれていて。
ユーザが redacted.com でアカウントを作成すると。
そのユーザは自動的に一部の会社の幹部をフォローして。
これらの幹部のフォロワー リストをクリックすると、ユーザのプロファイルから。
情報を取得するグラフクエリが送信され、応答にはユーザの ID と。
多くのユーザのプロフィール写真が含まれていて。
悪用される可能性のある 100 万人のフォロワーを持つユーザを見つけて。
搾取:
POC を作成するために、次の会社の幹部のリストの応答から「id」を収集して。
GraphQL クエリに対するブルート フォース攻撃に対する保護は見られず。
この後、Bash スクリプトを使用して ID を取得し、Burp Intruder を使用して。
ブルート フォース攻撃を行い、何千ものユーザの機密データを取得して。
Best regards, (^^ゞ