セッションフィクセーションとは?せっしょんふぃくせーしょん
セッションフィクセーションとは、攻撃者が自分で取得したセッションIDを被害者に使わせ、被害者がそのIDのままログインした後に、同じIDで認証済みの状態へ入り込む攻撃。IDを盗み出すのではなく、あらかじめ知っている値を相手に使わせるという向きの逆転が特徴になる。
最終更新:2026-10-06
この語が出る過去問を解く →背景
未ログインの段階でもセッションを発行し、ログイン後もそのIDを引き継ぐ実装が広く使われていた。この設計では、権限が変わる瞬間に識別子が変わらないため、事前に値を仕込めた側が昇格後の状態へ相乗りできる。権限が変わる境界で識別子を作り直すという原則が確立したのは、この攻撃がきっかけである。
具体例
セッションIDをURLのクエリで受け渡す実装なら、攻撃者が用意したIDを含むリンクをメールで踏ませるだけで仕込みが成立する。Cookieを書き込めるXSSや、同一ドメイン配下の別サイトからのCookie設定も経路になる。
試験での引っ掛け
ハイジャックが「知らないIDを手に入れる」のに対し、こちらは「知っているIDを使わせる」向き。決定打は認証成功時のセッションID再発行で、乱数の強度を上げても防げない。URLでのID受渡しの廃止も併せて必要になる。
関連用語
出た過去問
問題文で直接問われたものと、解説の中で触れられたものが含まれます。
出典:平成29年度 春期 情報処理安全確保支援士試験 午前Ⅱ 問5(IPA)
セッションIDの固定化(Session Fixation)攻撃の手口はどれか。
正解:悪意のある者が正規のWebサイトから取得したセッションIDを,利用者のWebブラウザに送り込み,利用者がそのセッションIDでログインして,セッションがログイン状態に変わった後,利用者になりすます。
要点:既知のIDでログインさせ後からなりすます攻撃
セッションIDの固定化は、攻撃者があらかじめ入手した有効なセッションIDを利用者のブラウザに埋め込ませ、その利用者がそのIDのままログインするのを待つ攻撃です。ログイン後もIDが変わらなければ、同じIDを持つ攻撃者がなりすませます。対策はログイン成功時にセッションIDを再発行することです。
出典:令和3年度 春期 情報処理安全確保支援士試験 午前Ⅱ 問12(IPA)解説で登場
安全なWebアプリケーションの作り方について,攻撃と対策の適切な組合せはどれか。
正解:SQLインジェクション ─ SQL文の組立てに静的プレースホルダを使用する。
要点:SQLインジェクション対策の本命は静的プレースホルダ
SQLインジェクションの根本対策は、SQL文の骨格をあらかじめ確定させ、値を後から安全に埋め込むプレースホルダの利用である。特に静的プレースホルダはデータベースエンジン側でSQL文を先に構文解析するため、値に何が入っても構文が変化せず、確実に攻撃を防げる。他の三つは、外部リソースの無制限な取り込み、状態変更へのGETの使用、セッションIDの固定化と、いずれも脆弱性を招く実装である。
出典・参考
解説は資格暗記が独自に作成しています。過去問の出典は各問題に記載のとおりです。