「Account Takeover via Email Confirmation」から学ぶ

ソース:

https://cristivlad.medium.com/account-takeover-via-email-confirmation-763ce4fd9ca8

 

脆弱性:ATO

 

訳:

これは、数日間でクライアントの侵入テストで見つかった 2 回目のアカウント乗っ取りです。 何が起こっているのか分かりません… 

 

1. ユーザーがアカウントを登録 => 「アカウントを確認する」ためのメールが届きます。 

 

2. 電子メールには、次のような確認リンクが含まれています (以下のすべてのパラメーターは変更されています)。 

 

[https]://url202310322.redactedexample.com/rxy/suk?mda=verylongENCRYPTEDstring

3. リンクをクリックすると別のウィンドウが開き、URL が次のように復号化され。 

[https]://webapp.redactedexample.com/sdy/confirm?uid=<uuid>&auth=<somelongcode>&return=/

4. このページには「メールが確認されました」=>「クリックして続行」と表示され。 クリックすると、クライアントは「戻り」URL にリダイレクトされ。 

 

5. ご想像のとおり、別のユーザーの「uid」を入力するとアカウントの乗っ取りにつながるため、「uid」の検証が不十分です。

 

「uid」が検証されていないだけでなく、「auth」コードも最初の使用後に無効化されるべきでした。 ただし、複数回使用でき、複数のユーザーのアカウント(私が作成した異なるテストアカウント)を引き継ぐことができたため、無効化されていませんでした。

 

「uid」は UUID 4 であり、簡単に推測したりリバース エンジニアリングしたりすることはできませんが、これは依然として重大な問題であり、特に高度に標的を絞った攻撃の場合には重要です。 

 

ほなほな。