セッションハイジャックについて勉強してみた 2

notoです。

CakePHPでTreeビヘイビアをつかってみたのですが、いまいち使い勝手がよくわかりません。 Treeビヘイビアについてではなく、セッションハイジャックについてまた書くんですけどね。。。

前回は、セッションハイジャックとはなんぞやから、セッションIDの推測についてでしたが、今回はURLに埋め込みのセッションIDについてです。

URL埋め込みのセッションID

概要

セッションIDをクッキーに保存せず、URLのパラメータとしてセッションIDを埋め込む場合がある。 携帯電話向けwebアプリケーションでは広く用いられる。

攻撃手法

Refererヘッダを経由して、セッションIDを取得し、成りすます。

RefererによりセッションIDが漏洩する条件

  • URL埋め込みのセッションIDを使うことができる
  • 外部サイトへのリンクがある。リンクを利用者が作成できる

脆弱性が生まれる原因

不適切な設定

対策

URL埋め込みのセッションIDを利用しない為にはクッキーにセッションIDを保存するよう設定する。

1
2
3
[Session]
session.use_cookies = 1
session.use_only_cookies = 1

セキュリティについては、まだまだ勉強不足です。。。 Refererで漏洩するなら、URL埋め込みのセッションIDを使用する設定で、仮にダイレクトで外部リンクに飛ばした場合、リンク先のサーバー管理者にセッションIDダダ漏れってことですかね。 ということは一度踏み台のようなページが必要になるってことかな。

参考文献

体系的に学ぶ 安全なWebアプリケーションの作り方 脆弱性が生まれる原理と対策の実践

Comments