ソース:
脆弱性:Account Takeover
訳:
この記事では、公開バグ報奨金プログラムで OAuth の設定ミスが原因でアカウント スクワッティングを発見した経緯について説明を。
アカウント乗っ取りの脆弱性とは何ですか?
OAuth は、アプリケーションのユーザーを識別および認証するために使用される承認フレームワークで。
実装上の設定ミスが多数あり、OAuth フレームワークが安全に実装されない可能性があり。
非常に単純な論理的欠陥により、次のような結果が生じます。
私たちが Victory@gmail.com であると仮定して、Web サイトにログインして、
- アカウント設定に移動し、メールアドレスをvictim2@gmail.com に変更し。
- リンクが victim2@gmail.com に送信されます。ユーザーは、victim2@gmail.com に何らかの理由でアクセスができなくなったことに気づき。
- 別のメールアドレス、たとえば victim3@gmail にアドレスを変更するでしょう。
- しかし、victim3@gmail.com を確認した後でも、victim2@gmail.com に送信された古いリンクがアクティブであることが判明したため、そのメールにアクセスできるユーザー/攻撃者はそれを確認し、アカウントにつながる OAuth の設定ミスを観察でき。
Web アプリはユーザーを保護するために適時にトークンを無効にすることが必須で。
この場合、メールアドレスを変更する際に、ユーザーが誤って間違ったメール アドレスを入力したため、そのメール アドレスにリンクが送信されるとして。
したがって、ユーザーはおそらくそのメール アドレスのユーザーに認証されることを望まないため、すぐに自分のメール アドレスを自分が所有するものに変更して認証すると思われ。
彼が知らないのは、検証(メジャー状態の変更)後でも、古いリンクがまだアクティブであるということで。
ユーザーはメールを Attacker@gmail.com に変更し ->
ユーザーはメールのタイプを間違えたことに気づき ->
そこで再度自分が所有するメールに変更して確認し ->
新しいメールが送信された後でも、 Attacker@gmail.com に送信された古いリンクはまだアクティブで。
ほなほな。