7

私は通常、掲示板ソフトウェアを使用するコミュニティにたむろしています。

私はこのソフトウェアが私のブラウザにクッキーとして何を保存するかを見ていました。

ご覧のとおり、6つのCookieが保存されます。その中で、私が認証にとって重要だと考えるものは次のとおりです。

  1. ngisessionhash:現在のセッションのハッシュ
  2. ngipassword:パスワードのハッシュ(おそらくプレーンパスワードではない)
  3. ngiuserid:ユーザーのID

もちろん、これらは私の仮定です。ngilastactivityngilastvisitが同じ理由で使用されているかどうかはわかりません。

私の質問は、なぜこれらすべてのCookieを認証に使用するのかということです。私の推測では、セッションハッシュの生成は簡単なので、hashedpasswordとuseridを使用するとセキュリティが強化されますが、Cookieのなりすましはどうでしょうか。私は基本的にすべての基本的な情報をクライアントに残しています。

どう思いますか?

更新#1

これらのクッキーの内容は、私がそれらに含まれていると思うものです。私はそれについてはよく分かりません。もちろん、Cookie ngivbpasswordを呼び出してハッシュが含まれている場合、私の推測ではhashedpasswordです。おそらくそれはパスワード+ソルトである可能性があります。

私の主な関心事は、 Cookieのなりすまし攻撃を受けたときに、これらのソリューションが多くの情報を提供することです。

更新#2 この質問は、これらの特定のソフトウェアがどのように機能するかを批判したくはありませんが、これらの回答を通して、Web環境でのソフトウェアの保護について詳しく知りたいと思います。

4

4 に答える 4

2

これは、セッションCookieとログインCookieのライフサイクルが異なる可能性があるために発生します。

毎日何百万人ものユーザーがいるウェブサイトを想像してみてください。Webサイトは、次に戻ったときにログに戻るためだけに、セッションを1年間保存しません。そのためにログインCookieを使用します。

これらのCookieはRemember-MeCookieとも呼ばれます。

于 2010-12-27T15:59:37.300 に答える
1

セッションは永続的ではありません。クッキーはそうです。

アップデート#1: vBullettinを使用したことはありませんが、従来の「Rememberme」機能のようです。

アップデート#2:

ええ、それは私を覚えている機能です、私は彼らがそのようにそれをしている理由を尋ねています

了解しました...「Rememberme」機能をどのように実装しますか?あなたは明らかにクッキーを使う必要があります、私はそれが明らかだと思います。さて、あなたは何を保存しますか?

最も簡単な方法は、ユーザーとパスワードをクリアテキストで保存し、定期的な認証を実行することです。これは、使用できる最も安全でないメカニズムの1つですが、実際にはそのように実行しているサイトもあります。

もう少し単純ではない方法は、ユーザーとパスワードのハッシュを保存し、通常の認証の修正バージョンを実行することです。前の方法ほど悪くはありませんが、それでもいくつかの問題があります。たとえば、サーバーから保存されたCookieを無効にしたり期限切れにしたりする効果的な方法はありません。

3番目の方法は、「記憶された」セッションを含むデータベーステーブルを保持し、長い一意の文字列で各テーブルを識別し、そのような文字列をCookieに保存することです。文字列はランダムにすることも計算することもできますが、もちろん、ランダム性には、アルゴリズムを知っていても文字列を推測できないという利点があります。

サーバーに日付、IPアドレス、その他のデータを保存することで、セキュリティをさらに強化できます。

私が言ったように、私はvBulletingについて何も知りませんが、彼らは方法2または方法3を使用しているようです。

アップデート#3:

これらのクッキーの内容は、私がそれらに含まれていると思うものです。私はそれについてはよく分かりません。もちろん、Cookie ngivbpasswordを呼び出してハッシュが含まれている場合、私の推測ではhashedpasswordです。おそらくそれはパスワード+ソルトである可能性があります。[...]私の主な関心事は、Cookieのなりすまし攻撃を受けたときに多くの情報を提供するこれらのソリューションに関するものです。

Cookieのなりすましに成功すると、ユーザーに完全になりすますことができるため、コントロールパネルに入るだけで無料のビュッフェを楽しむ​​ことができ、Cookieの内容は無関係になります。

彼らが塩漬けのパスワードを保存しているか、それが単なる名前であるかどうかは、私にはわかりません。

于 2010-12-27T15:02:08.630 に答える
0

ここに質問があります、あなたの懸念は何ですか?ある種の認証システムを構築していますか?また、CookieにユーザーIDとパスワードを含めることは、セキュリティの問題になる可能性があると思います。ユーザーIDはエンコードされていますか、それとも整数ですか?

于 2010-12-27T15:53:13.243 に答える
0
  • Cookieは、サーバー上にいるユーザーに関する情報をできるだけ小さくする必要があります。

  • Sessionhash、session_id、またはsidは、ユーザー(サーバー上のセッション)の一意のIDです。残りのCookieは、サーバー側で簡単に非表示にできます。

  • パスワードハッシュをCookieに保持することは、セキュリティの問題です。あなたはそれを避けるべきです。

  • 最後の4つのCookieはGoogle広告からのものです。

PS。ほとんどの掲示板はとにかくそれほど素晴らしいソフトウェアではありません。

于 2010-12-27T15:58:23.297 に答える