Webアプリケーションにアクセスできるのは、認証されたユーザーだけです。ログインする前に、ユーザーはログイン用のボタンのあるメインページのみを表示できます。アプリケーションはメインページでセッションIDを割り当て、認証は他のアプリケーションによって処理されます。
ログインしてアプリケーションに戻った後も、ユーザーは同じセッションIDを持っています。ただし、ログアウト後に変更されます。
OWASP ASVSは、ログイン時にセッションIDを変更する必要があると述べていますが、なぜこの状況で必要なのか明確なポイントがわかりません。変更する必要がありますか?
ログイン時にセッションIDを変更するのが最善である理由は、潜在的なman-in-the-middle脆弱性によるものです。攻撃者がセッションIDを取得した場合、それを使用して正当なユーザーになりすますことができます。これはセッション固定脆弱性と呼ばれます。ログインごとにセッションIDを変更すると、以前のセッションIDが無効と見なされ、攻撃者がそれを使用して認証することができなくなるため、この脆弱性の防止に役立ちます。
参照:
https://www.owasp.org/index.php/Session_fixationhttps://www.owasp.org/index.php/Session_hijacking_attack