セッションハイジャック攻撃の一つ。
通常、セッションハイジャック攻撃は攻撃者が正規ユーザに発行されたセッションIDを入手することで成立するものである。
しかし、セッション固定攻撃は違い、正規ユーザが利用するセッションIDを、攻撃者が指定する。こうしてシステムは、そのセッションIDを正規のものとしてログインを許可し、以降はそのセッションIDを使う。こうして攻撃者の攻撃は成立する。
さて、通常、こんな攻撃はありえない。と、信じたい。ところが実際に発生した。
通常のWebアプリケーションならば、セッションIDはログインしてから発行されるからであり、そのセッションIDはWebサーバが独自の判断で作るもので、ユーザ側はセッションIDを作ることなど有り得ないからである。
しかし世の中には、ログインする前からセッションIDを発行するものがあり、システムは、正しいユーザID・正しいパスワード、正しいセッションIDが送られて来た時に、そのセッションをログインさせ、以降はそのセッションIDを使う、という実装がある。これが、セッション固定攻撃の対象となった。
この攻撃は、次の手順によって成立する。
非現実的な攻撃方法ではあるが、理論上、攻撃者はユーザIDとパスワードを知らなくてもセッションIDが得られるため、ログイン済みのシステムに対し、ログインが必要な領域に対して攻撃を加えることが可能となる。