3

私はちょうど以下を読みました:

また、永続的なログインCookie(トークン)をデータベースに保存しないでください。ハッシュのみを保存してください。ログイントークンはパスワードと同等であるため、攻撃者がデータベースを入手した場合、攻撃者は、クリアテキストのログインとパスワードの組み合わせであるかのように、トークンを使用して任意のアカウントにログインできます。したがって、永続的なログイントークンを保存するときは、強力なソルトハッシュ(bcrypt / phpass)を使用してください。

(この回答では:https ://stackoverflow.com/a/477578/943102 )

複数のサイトで同じパスワードを使用し、攻撃者が同じユーザーの他のアカウントに侵入するのを防ぐため、ハッシュが使用されることになっていると思いました。ログイントークンはランダムな値であるため、この場合、このリスクはありません。私は明らかに何かが欠けていますが、これについてのそれ以上の情報を見つけることができませんでした。誰かが説明できますか?

4

1 に答える 1

9

あなたがWebアプリケーション開発者であり、正しいことを行い、ユーザーのパスワードのハッシュのみをデータベースに保存するとします(プレーンテキストではありません)が、認証されたログイントークンをハッシュせずにデータベースに保存することにしました。

ここで、悪意のある攻撃者がWebアプリケーションのデータベースに侵入し、ダンプを実行して、Web上の悪意のある攻撃者の仲間と共有するとします。ええと、彼はハッシュでログインできないので、それらのパスワードハッシュは彼にあまり役に立たないでしょう。しかし、彼はそれらのログイントークンプレーンテキストで保存されていることを確認しています。これで、彼が1つをCookieに入れて、HTTPリクエストと一緒にサーバーに送信するのは簡単です。サーバーはCookieを取得し、データベースに対して認証し、攻撃者を許可します。したがって、これらのログイントークンは単なるランダムな値ですが、攻撃者がCookieを取得すると、攻撃者はそれらを使用して認証されたユーザーになりすますことができます。

于 2012-11-17T01:49:52.513 に答える