燈明日記 このページをアンテナに追加 RSSフィード

ごあいさつ

燈明日記へようこそ!!

燈明日記の主なテーマは、以下の通りです。

そして、燈明日記へ来られたのも『私』と『あなた』の何かのご縁です。なので、どうぞごゆっくりご覧下さい!


2010/5/1(土)

[] WEB脆弱性セッションハイジャックとは

HTTPは、ステートレスなので、普通は、ステートを引き継ぐセッション管理ができません。

しかし、ログインが必要なサイトでは、セッション管理がないと実現ができません。

そのために、クッキーが考案され、クッキーにステート(セッションID)を保存することにより、セッション管理を実現します。


しかし、セッション管理がクッキーにより実現できても、その不備を狙うWEB脆弱性があり、それをセッション・ハイジャック攻撃と言います。

セッション・ハイジャック攻撃には、以下の3通りがあります。

  1. セッションIDの推測
  2. セッションIDの盗用
  3. セッションIDの固定化(Session Fixation)

◆ セッションIDの推測

悪意のある人は、セッションIDの生成規則を割り出し、有効なセッションIDを推測します。

これにより、善意の利用者に成りすましすることができるのです。

対策:セッションIDは、生成アルゴリズムに安全な擬似乱数生成系を用いるなどして、予測困難なものにします。


◆ セッションIDの盗用

悪意のある人は、罠を仕掛けたり、ネットワークを盗聴したりし、利用者のセッションIDを盗みます。

これにより、善意の利用者に成りすましすることができるのです。

対策:セッションIDをURLパラメータに格納しないようにしたり、HTTPS通信で利用するCookieにはsecure属性を加えます。


◆ セッションIDの固定化(Session Fixation)

悪意のある人は、以下のような『何らかの方法』で、自分が取得したセッションIDを善意の利用者のセッションIDに送り込みます。

これにより、善意の利用者に成りすましすることができるのです。

対策:ログイン成功後に、新しくセッションを開始するようにします。


・『何らかの方法』の一例
  1. 悪意の利用者が、BBS掲示板等へ「セッションIDを送り込む細工をされたURL」を貼り付けます。
  2. 善意の利用者は、そのURLをクリックし、ログインします。
  3. 悪意の利用者は、送り込んだセッションIDを使って善意の利用者のページを閲覧できるようになります。

・細工されたURLの例
<a href="javascript:document.cookie='PHPSESSID=aaa;expires=Thu, 1-Jan-2011 00:00:00 GMT';location.href='login.php'">click me!</a>

・説明

悪意のある人が、予め用意したセッションID(例ではクッキーのPHPSESSID=aaa)をdocument.cookieで善意の利用者のに送り込み、ログインページに遷移します。

するとその後、悪意の利用者は、そのセッションIDでログインすることにより、善意の利用者に成りすましすることができるようになるのです。


尚、本記事は、以下URL先を大変参考にさせて頂きました。問題があればコメント欄でご指摘ください。

スパム対策のためのダミーです。もし見えても何も入力しないでください
ゲスト


画像認証

トラックバック - http://d.hatena.ne.jp/chaichanPaPa/20100501/1272712010
リンク元