前提:「セッション」ってなに?
Webサイトやアプリでは、ユーザーがログインしたりカートに商品を入れたりするときに、
「誰がどんな操作をしているか」を識別するために一時的な情報を持っています。
この「ユーザーの一連の操作状態」のことをセッション(Session)といいます。
例:
Aさんがサイトにログイン → サーバーが「Aさんのセッション」を発行
その後のリクエスト(ページ移動など)でも、「AさんのセッションID」で同一人物と認識する
️セッションアダプションとは?
他人のセッションを乗っ取って、自分がその人になりすます攻撃のことです。
英語では「Session Hijacking(セッションハイジャック)」とも呼ばれます。
どうやって起こるの?
攻撃者が「正規ユーザーのセッションID」を何らかの方法で手に入れると発生します。
たとえば:
Wi-Fiの盗聴でCookie(セッションID)を抜かれる
XSS(クロスサイトスクリプティング)でCookieを奪われる
URLにセッションIDが含まれていて、それを共有してしまう
セッション管理が甘く、推測できるIDを使っている
️何ができるの?
奪ったセッションを使ってその人としてログイン状態を再現できるため、
個人情報の閲覧
不正送金や購入
管理者操作の実行
などが可能になります。
️対策
セッションアダプションを防ぐには:
HTTPS通信の徹底(盗聴防止)
セッションIDをURLに含めない
CookieにSecure属性・HttpOnly属性をつける
ログイン後や権限変更時にセッションIDを再発行する
一定時間でセッションを無効化する(タイムアウト設定)
ログアウト機能の明示
️まとめ
意味 他人のセッションを乗っ取る攻撃
別名 セッションハイジャック
手口 Cookie盗聴・XSS・URL共有など
被害 なりすまし・不正アクセス
対策 HTTPS・Cookie設定・再発行・タイムアウトなど