セキスペへの道

要点の一問一答(サンプル・オリジナル)

Cookie の属性とセッションID

セッションIDを入れた Cookie が、どの経路で他人に渡りうるか、どの属性がどの経路を塞ぐか。

覚えること

解説

ログインした状態は、ブラウザが Cookie でセッションIDを送り返すことで保たれる。セッションIDが他人に渡ると、その人になりすまされる。Cookie の属性は、渡ってしまう経路を1つずつ塞ぐためのもの。

押さえる規則

  1. 1Secure 属性は、Cookie を安全な通信(HTTPS)でだけ送らせる。盗聴への対策。
  2. 2HttpOnly 属性は、Cookie を JavaScript から読めなくする。XSS による読み出しへの対策。
  3. 3SameSite 属性は、他サイトを起点とするリクエストに Cookie を付けるかを決める。CSRF への対策。

間違えやすいところ

HttpOnly は XSS そのものを防ぐものではない。スクリプトの埋め込みは防げず、Cookie を読み出す経路だけを塞ぐ。