「An IDOR lead joins any group makes me $2,500」からIDORを学ぶ

ソース:

https://infosecwriteups.com/an-idor-leads-join-any-group-makes-me-2-500-406eb9e463a3

 

脆弱性:IDOR

 

訳:

脆弱性の概要

この Web サイトにはプライベート グループを作成する機能があり、グループ管理により、招待状を送信することで他のユーザーがそのグループにアクセスできるようになり。
通常、プライベート グループの情報は機密でありアクセスできなく。
プライベート グループに招待されると、サイトの一部で招待を確認し、承認または拒否でき。
[同意する] をクリックすると、次のメッセージが送信されます。

 

POST /GroupInvitations HTTP/1.1
Host: redacted.com
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:109.0) Gecko/20100101 Firefox/111.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Referer: https://redacted.com/GroupActivity
Content-Type: application/x-www-form-urlencoded
X-Xsrf-Token: 6c2be6f7-3880-4652-951b-9ef779f201d6
Content-Length: 37
Origin: https://redacted.com
Sec-Fetch-Dest: empty
Sec-Fetch-Mode: cors
Sec-Fetch-Site: same-origin
Te: trailers
Connection: close

GroupInvitations&action=A&c2mId=7069

c2mId パラメータは招待されたグループのコードであり、IDOR に対して脆弱で。
攻撃者はこの値を Upper または Downer に変更することで、他のプライベート グループに簡単にアクセスでき。

 

再現する手順

  1. マネージャー、攻撃者、ユーザーの 3 つのアカウントを作成します。
  2. Manager アカウントで 2 つのグループを作成します。
  3. 攻撃者ユーザーをグループ A に招待します。
  4. 攻撃者は招待を受け入れ、リピーターにリクエストを送信します。
  5. マネージャー アカウントに戻り、ユーザーをグループ B に招待します。
  6. リピータに戻り、c2mId に 1 桁追加します。
  7. 攻撃者のアカウントに移動し、グループ B を確認します。

マネージャーとして、私は Group-AAAA と Group-BBBB という 2 つの異なるグループを作成しましたが、両方とも非公開だったので、他のユーザーはコメントを残したり、トピックを作成したりすることができませんで。

攻撃者を Group-AAAA に招待し、Burp リピーターへのリクエストを受け入れて保存するフローを示し。
したがって、攻撃者はグループ AAAA にアクセスできます。
管理者は別のユーザーを Group-BBBB に招待しましたが、攻撃者はそのユーザーをこのグループに招待しなく。

攻撃者は c2mId 値パラメータを 1 つ増やしてリクエストを送信し。
ここで、攻撃者が私のグループのページを更新しました。
私たちのストーリーの攻撃者は Group-BBBB にアクセスでき、コメントを残してトピックなどを作成することができ。
c2mId の値が 1 つの用途ではないことに注意する必要があります。
通常のユーザーがイノベーションを受け入れたとしても、攻撃者はこの値を再度使用してグループにアクセスすることができます。

 

ほなほな。