web-dev-qa-db-ja.com

スペルミスのあるユーザー名を修正すると、セキュリティ上のリスクが生じますか?

スペルミスのあるユーザー名を修正し、有効なユーザー名をユーザーに要求すると、セキュリティリスクが生じますか?

最近Facebookにログインしてみましたが、メールのスペルを間違えました。以下のメッセージが表示されました。

{username}としてログイン

{email}@gmail.com・あなたではありませんか?

パスワードを確認してください電子メールまたはユーザー名のわずかなスペルミスを入力したようです。修正しましたが、セキュリティを強化するためにパスワードを再入力してください。

ユーザー名は実際には秘密ではないことは知っていますが、ウェブサイトでスペルミスを修正を正しいものに変更すると、「秘密ではない」という意味が少し大きくなりすぎているようです。

77
GER

あなたが言ったように、あなたはこれをfacebookで見ました-それで私はこれらのステップを試しました:

  • [email protected]と実際のパスワードでログイン->機能
  • [email protected]と実際のパスワードでログイン->動作します(!)
  • [email protected]と実際のパスワードでログイン->動作します
  • [email protected]と実際のパスワードでログイン->動作します
  • [email protected]と間違ったパスワードでログイン->パスワードが間違っているが、メールは自動的に正しいメールに修正された
  • プライベートタブ(またはキャッシュとCookieがクリアされたブラウザ)]で[email protected]にログインします->「入力したメールはどのアカウントにも一致しません」

このPCですでにFBに正常にログインしている場合にのみ修正が機能するように見えるため、これはFacebookの脆弱性ではないであると言えます。


編集:新しいテストケースを追加しました。提案してくれたZymus、simbabque、Micheal Johnsonに感謝

178
Lukas

ユーザー名またはメールの繰り返しを許可することは、ほとんどのサイトではセキュリティ上の問題になる可能性がありますが、Facebookではそうではありません。 Facebookほどの規模のサイトでは、サイトに非常に多くのユーザーがいるため、アカウントを持つメールを簡単に見つけることができます。これは、GoogleやMicrosoftのような他の巨大なユーザーデータベースにも当てはまります。これらの企業は、ユーザー名/電子メールデータベースが(一種の)公に知られていることを考えれば、安全でなければなりません。

とは言っても、同じブラウザー、コンピューター、さらにはIPアドレスでFacebookを使用するのはこれが初めてだったとしたら驚きます。電子メールのように見える文字列はおそらく1人以上のユーザーに近いため、ユーザー名を完成させることは意味がありません。 Facebookはあなたがあなたであることを知る方法があったのではないかと思います。

16
Neil Smithline

ここで提供した詳細に基づいて、「はい、これはセキュリティリスクです」と言います。これは、サイトに登録されているユーザーを100%識別するためです。ブロックが配置される前にリクエストを送信できる回数(CAPTCHA、IPブロックなど)はわかりませんが、攻撃者はユーザー名とメールのセットを単純に「総当たり」して、かなり明確なリストを取得できますサイトを使用する人。

現状では、システムは間違って入力したものを通知しませんが、スクリプトは、前と後を比較するだけでかなりすばやく通知できます。

さらに悪いことに、ユーザー名と電子メールのリストでは、他のサイトのターゲットリストが(電子メールアドレスのように)ユーザー名を再利用する傾向があるため(私はそう思います)、それらのリストが原因です。

かなり疑わしいimhoに見えます。

驚いた... FBはそれよりも良い意味があると思います。

1
jms