まず、セッションの管理の全体像に関しては、以下を確認してほしい
http://sc.seeeko.com/archives/4570016.html

過去問(H23SC春午後2問2)を見てみよう。
Web検査の結果, Webアプリの脆弱性として,不適切なセッション管理が行われていることが判明した。Webアプリには, SSLで保護されたWebフォーム認証があり,利用者がパスワードを入力してログインすると, Set-CookieヘッダでセッションIDをブラウザに対して発行するようになっている。それ以降はセッション管理にこのセッションIDを利用するとともに, SSLによる通信の暗号化が図られている。しかし,公開Webサーバ内にはSSLを利用していないページも存在し, HTTP通信を盗聴することによってクッキーの情報を取得できることが判明した。この脆弱性を放置すると,[ g ]という攻撃手法によってなりすましによる不正アクセスが発生する可能性がある。
このgにあてはまるのがセッションハイジャックだ。
セッション情報さえわかれば、この人のセッションを持って買い物などができる。
情報セキュリティスペシャリスト試験_女性SE成子
でもログインIDやパスワードの情報が必要でしょ。
いや。ログインは不要だ。
ログインした後は、セッションIDでしか通信が管理されていない。
以下の図を見てください。セッションIDを盗聴することで、パスワード等を知らなくてもA氏として買い物ができてしまう。
セッションハイジャック_情報セキュリティスペシャリスト試験
①正規の利用者Aは、自分のIDパスワードを入力してログインします。
②Webサーバ(買い物サイト)から、セッションID(SID)として123が付与されます。
③それ以降の通信は、IDやパスワードが使われることなく、SIDを提示することでセッションが維持されます。
④第三者がSIDを盗聴します。
⑤盗聴したSIDである123を使えば、正規ユーザA氏に成り代わって通信をすることができます。


ではどう対処すべきか。対策は以下です。
①SSLで通信を暗号化する 
 SIDも暗号化される
②非SSLのSIDとは別のSIDを使う 
 SIDが暗号化されていても、それまでの非SSLのSIDと同じものを使っていたら、ばれてしまう。なので、SSL通信をする際には、SIDを新しく振りなおす必要があります。

以下は、H24NW午後1問3の問題である。
ログイン認証要求ではSID=xxxなのに、その応答のログイン完了表示では、SID=yyyと変わっている。
こうすることで、ログイン後のSIDが第三者に分からないようにしている。なおかつSSLで暗号化している。 セッションハイジャックを防ぐために当然の処置である。
セッションハイジャック_SSLの図

参考ですが、IPAの「『セキュア・プログラミング講座 (Webアプリケーション編)』 ブートアップセミナー」(http://www.ipa.go.jp/files/000030878.pdf)では、セッションハイジャック対策として、以下が述べられています。
セッションハイジャック対策

 ・「推測」への対抗
  ・予測困難なランダム値を使う
  ・ログイン(ユーザ認証)成功のたびに異なる値を使う
 ・「奪取」への対抗
  ・TLS を使用する
  ・Cookieにsecure属性をつける
  ・Cookieの「寿命」を短めにする
  ・ログイン成功時にセッションIDを発行し直す
情報セキュリティスペシャリスト試験を目指す女性SE 
 
そもそもですが、セッション情報を盗聴することはできるんでしたっけ?
セッション情報の盗聴は難しいかもしれませんが、盗聴以外の方法を使えばいいでしょう。たとえば、XSSの脆弱性で、セッション情報を取得してしまえばいいのです(具体的なやり方までは確認していませんが、たぶん簡単にできるはず)