1

私のサイトが次のようなハッカーに攻撃される可能性があると聞いたことがあります。

  1. セッションを開始するには、私のサイトにアクセスしてください。
  2. どういうわけかクライアントに同じセッション ID で私のサイトにアクセスしてもらいます
  3. クライアントがログインする
  4. 攻撃者がセッション ID を持って私のサイトに戻ってきた場合、攻撃者はそのクライアント アカウントに完全にアクセスできます。

セッション ID が URL によって渡され、それを循環させる (session_regenerate_id) ことは理にかなっている場合、これが行われていることがわかりますが、session_start を使用するだけでセッション ID を URL に入れていない場合、これは必要ですか?

4

2 に答える 2

2

session-ID-in-URL 以外にもセッション固定攻撃があります。特に、クロスドメイン Cookie に対するブラウザー制御は脆弱です。

foo.example.comたとえば、そこで実行されているアプリケーションの XSS ホールによって、攻撃者が を制御できる場合、攻撃者はパラメーター を使用してセッション ID Cookie を書き込むことができますdomain=example.com。これは、で実行されているアプリケーションに渡されますbar.example.com

開発者は、隣接ドメインで実行されている他の脆弱なアプリケーションを制御できないことがよくあるため、Cookie インジェクションが発生する可能性があると想定し、プリンシパルの変更時にセッションをリサイクルすることをお勧めします。

于 2015-05-03T09:11:41.337 に答える
1

セッション ID が Cookie によってのみ転送される場合 (URL になく、URL で受け入れない場合)、セッション ID を再利用してセッション固定攻撃から保護することはそれほど重要ではありません。

ただし、これは、より長い時間 (以前のユーザーによって配置される可能性がある) セッション Cookie に対しても役立つ可能性があるため、依然として良い方法です。したがって、ほとんどのセキュリティ プラクティスでは、ここでも同じです。悪用される可能性のある方法が見つからなくても、実行してください。

于 2015-05-02T17:16:42.623 に答える