Shikata Ga Nai

Private? There is no such things.

Business logic flaw in the invitation system allows to Takeover any account at a private companyを訳してみた

Hello there, ('ω')ノ

 

招待システムのビジネスロジックの欠陥で民間企業のアカウントを乗っ取りを。

 

脆弱性:

 アカウントの乗っ取り

 IDOR

 

記事:

 https://infosecwriteups.com/business-logic-flaw-in-invitation-system-allows-to-takeover-any-account-at-private-company-daaf898966b0

 

ツール:

 Burp Suite

 

今回は、民間企業からの招待システムに基づくビジネスロジックの欠陥を悪用して。

ユーザの同意なしにサービスのアカウントを引き継ぐ方法について説明をすることに。

 

通常のユーザとしてアプリケーションを使い始めると。

このアプリケーションでは、「Users」セクションで。

組織アカウントに新しいユーザを招待できて。

 

f:id:ThisIsOne:20211124180348p:plain

 

招待されたユーザは、メールボックスに以下のような。

トークンが記載されたメールを受け取って。

 https://app.redacted.com/reset-multi-user-password/INVITE-TOKEN-HERE

 

下記のエンドポイントは、特に注意を引くはずで。

 reset-multi-user-password

 

なぜ、この「reset password」エンドポイントと呼んでいるのかを。

念頭に置いて、さらに深く掘り下げることに。

 

招待を受け入れると、アプリケーションはリクエスト本文の招待メールとともに。

下記のエンドポイントへPOSTリクエストを送信して。

 activate-invited-user

 

f:id:ThisIsOne:20211124180419p:plain

 

問題はここにあり、招待されたユーザがリクエスト本文の電子メールと。

パスワードを制御できると考えると。

 

まずは、「accept invite」リクエストをキャプチャすると。

招待されたユーザは、reset-multi-user-passwordのエンドポイントによって。

招待トークンを受け取って。

新しいパスワードとともに招待されたメールを「owner@victim.com」に変更すると。

サーバが要求を受け入れ、次に「owner@victim.com」として。

新しいパスワードでログインして、乗っ取りを確認できて。

 

f:id:ThisIsOne:20211124180450p:plain

 

最後に、以下の概念実証の脆弱性と影響を説明を報告して。

1.https://app.redacted.comでアカウントにログインして。

2.次に、[Users]セクションで管理しているメールを招待して。

3.inviteリンクをクリックすると、招待するページが表示されて。

 アカウントの新しいパスワードを作成して、リクエストを傍受して。

4.アプリケーションで他のユーザアカウントにメールを変更して。

 リクエストを転送して。

5.これで、招待トークンを使用して「被害者」の電子メールに。

 新しいパスワードを設定できて。

 

要点:

常にすべてのエンドポイント名を確認して。

通常とは異なるものが表示された場合は、さらに深く調べてみて。

すると、興味深い動作が見つかる可能性があって。

 

Best regards, (^^ゞ