同じセッションIDを再使用する必要がありますか?


3

質問は、特定のPHPベースのWebアプリケーションでのセッションID管理に関連しています。

web-appは、固定ユーザーのセッションごとに同じセッションIDを使用します。したがって、アプリケーションのログアウト後、次にユーザーがログインすると、同じセッションIDがCookieとして解放されます。ただし、ユーザーがログインしていない間、アプリケーションはCookieの使用を禁止します(同じCookieを使用してHTTP要求を再送信すると、ログインページに転送されます)。

これは悪いセキュリティ対策と考えられますか?同じセッションIDがの場合、すべてユーザーの場合はどうでしょうか?

9

a lot can go wrong with a sessionのように、独自のセッション管理システムをローリングすることは非常に危険です。 PHPの場合は、session_start()$_SESSIONのスーパーグローバルを使用してください。

ユーザーがログインするたびに同じセッションIDを使用すると、パスワードを変更する必要はありません。常にアクセスを許可するトークンが1つあります。攻撃者は、XSSを使用してこのセッションを構成できます。また、トランスポートレイヤセキュリティが不十分なため、システムに常にアクセスできます。すべてのユーザーに対して同じセッションを使用して

は、あなたがグローバルな状態が必要な場合は、あなたの提案は、本質的に欠陥がある理由は、しかし彼/彼女は指摘していない、ルークに同意


7

データベースを使用して、目的に反しセッションの認証済み状態を無効にしたとき

少なくとも1つの特定の脆弱性が存在します。セッションIDが予測可能になりました。次のことを考慮してください。AliceはクライアントAのシステムを使用します。ログアウト後、セッションはもはや有効ではないとフラグを立てているかもしれませんが、セッショントークンはまだこのクライアントから回復可能です。チャックが来て、クライアントAからセッションIDを抽出します。セッションに認証されていないとフラグが付けられているため、システムにアクセスできません。しかし、その後、AliceはクライアントBからログインします。セッションはもはやロックされず、チャックは自由にアクセスできます。

同じセッションIDをすべてのユーザーに使用するとどうなりますか?

WTF ??? !!!!

これはセッションIDではありません。