ソース:
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 であり、簡単に推測したりリバース エンジニアリングしたりすることはできませんが、これは依然として重大な問題であり、特に高度に標的を絞った攻撃の場合には重要です。
ほなほな。