書籍からの情報を元に、既知のセッション鍵を強制的に使わせたり、既知の未知鍵を盗むことで、他人のセッションを乗っ取る攻撃の対策方法(PHP)をメモ。
対策1を必ず施した上で、対策2、対策3の導入も検討する。
php.iniの設定を以下に変更する。
[CODE]
session.use_trans_sid = 0
session.use_cookies = 1
session.use_only_cookies = 1
session.auto_start = 0
[/CODE]
鍵に結びついたセッションについてIPアドレスも保存しておき、異なるIPからの利用がなされた時点でセッションを破棄する。
一定時間毎に、新しいセッション鍵に変更する方法。
session_start()直後に、session_regenerate_id(true)を実行する。
※PHPのバージョンが5.1.0移行であれば、session_regenerate_id()に引数trueを与えることで、自動的に古いセッション情報を削除してくれる。
[PHP]
session_start();
session_regenerate_id(true);
[/PHP]
詳しいことはPHPサイバーテロの技法に書かれてます。この本はすごくためになりました。著者の方に感謝。
その他14種類の脆弱性についてはこちらで一覧確認できます。
[...] 13 => セッションハイジャック , [...]
type:ピンバック [ ]