Top > Session Hijacking/Replay

#freeze
TITLE:脆弱性 - Webアプリケーション - セッションハイジャック
*セッションハイジャック(乗っ取り) [#SESSION_HIJACKING]
正式に認証を受けたユーザが使用しているセッションIDを、攻撃者が取得して使用することで正規ユーザになりすまそうとする攻撃手法です。~
ユーザ認証処理が安全だとしても、認証済み情報と紐付いたセッションIDが他人に盗まれて使用されては元の木阿弥です。
#br
**関連する脆弱性・攻撃手法 [#ec437f4f]
***[[クロスサイトスクリプティング>Cross Site Scripting]] [#se13d5f9]
>Cookieでセッション管理を行っているWebアプリケーションにクロスサイトスクリプティングの脆弱性が存在する場合、攻撃者は、正規ユーザが保持するCookieを取得して、自分のWebサイトに送信するスクリプトを実行させるよう仕向けます。~
***[[セッション強制>Session Fixation]] [#he2cc389]
>手法自体はセッション乗っ取りとは考え方が異なるのですが、これもセッション管理に関連する攻撃手法のひとつです。~
~
セッション乗っ取りが認証済みのセッションIDを盗み取ろうとする攻撃手法なのに対し、セッション強制は、攻撃者が取得したセッションIDを正規ユーザに強制的に使用させる攻撃です。

#br
*参考サイト [#d1a61fdf]
-[[[Think IT] 第3回:Railsでセッションハイジャックを実体験 (1/3)>http://www.thinkit.co.jp/free/arti]]
--Ruby on Railsで構築したサイトをベースにした攻撃手法と対策が解説されています。

//**検証方法 [#uae8fdc7]
//***予備検証 [#xb5320cb]
//+ひとつの端末で検証
//++WebブラウザAで操作
//+++検証対象のWebサイトにログインし、ログイン中のみ表示可能な画面に遷移する。
//+++表示した画面のURLを控えておく。また、可能な場合、Webブラウザが送信しているCookieやセッションIDも控えておく。
//++WebブラウザB(WebブラウザAとUser-Agent[UA]が異なるもの)で操作
//+++控えておいたURLにアクセスする。
//ログイン後にのみ遷移可能な画面を表示する際に送信するCookieやセッションIDを、別のUser-Agentを持つWebブラウザで画面のURLとともにリクエストする。~
//+複数端末を使用して検証
//++ログイン後にのみ遷移可能な画面を表示する際に送信するCookieやセッションIDを、''別端末''(=異なるIPアドレス経由)のWebブラウザで画面のURLとともにリクエストする。

//>上記の検証で画面遷移に失敗した場合、セッションIDだけではなく、ブラウザのUAや端末のIPアドレス(またはREMOTE_ADDRやREMOTE_HOST)など、他の要素も認証に使用している可能性が高いので、セッションハイジャックに成功する確率は低くなります。~
//ただ、UAはブラウザレベルで変更(詐称)が可能ですし、IPアドレスも、ユーザが意図的に変える手段があります。~
//よって、そもそも接続元を特定する材料にするには無理があります。

リロード   凍結解除 差分 コピー 名前変更   ホーム 一覧 検索 最終更新 バックアップ リンク元   ヘルプ   最終更新のRSS