コース目次 / 第0章

はじめに — ログインの、その後

認証(誰か)と、それを運ぶセッション(その後ずっと)を分けて捉えます。このコースが扱う壊れ方の地図と、自作モックだけを相手にする枠組みを確認し、法と倫理ゲートに同意します。

第0章 / 全6章目安 約6分この章のゴール: 認証とセッションの関係を理解し、このコースの診断対象の地図を持つ

「ログイン」は、一瞬の出来事です。正しいパスワードを出した——それで認証(あなたが誰か)は済む。でも、その後あなたは何十ページも見て回ります。ページを開くたびにパスワードを打ち直しはしません。では、ログイン後の「あなた」は、どうやって続いているのか?

sec-http で答えの半分を見ました——セッションとCookieです。このコースは、その「ログインのその後」全体の壊れ方を診断します。

認証は一瞬、セッションはその後ずっと

認証(authentication) — 「あなたが誰か」を、ログインの瞬間に確かめること。
セッション(session) — 確かめた「あなた」を、その後のリクエストのたびに運び続ける仕組み。ふつう、サーバが発行したセッションIDを Cookie に入れて持ち回ります。
攻撃者にとって狙いどころは、実は後者です。パスワードを破るより、ログイン後のセッションを乗っ取る方が、しばしば簡単だから。「あなたのセッションID」を手に入れれば、パスワードを知らなくても「あなた」になれます。

このコースが診断する、5つの綻び

法と倫理ゲート

手を動かす前に

このコースは攻撃の技術に触れます。実習してよい相手は、次の3つだけです。

  • (a) 自分で作った練習用のやられ環境(このサイトが配る自作ターゲット)
  • (b) あなた自身の許可された環境(自分の Thousand SKY・secret-notes-ctf など)
  • (c) CTF 競技の中(規約の範囲で)

実在する第三者のシステムを許可なく触ることは、不正アクセス禁止法に触れます。 このゲートは、その線引きを毎回の入口で確かめるためのものです。詳しくは「セキュリティの法と倫理」へ。

ログインとその後をめぐる、代表的な壊れ方を扱います。

章 壊れ方
第1章 弱いセッションID・甘い Cookie 属性(盗難・予測の土台)
第2章 セッション固定 — 攻撃者が用意したセッションを掴ませる
第3章 CSRF — 利用者に、意図しない操作をさせる
第4章 OAuth / OIDC — 認可コードフローと、state の綻び

JWT そのものの分解(alg:none・弱鍵・alg 混同)は、姉妹コース「JWT を分解する」で個別に扱っています。このコースは、JWT を含むセッションの仕組み全体の視点で見ます。

相手は、すべて自作モック

とくに第4章の OAuth / OIDC は、本来 Google などの実在の ID プロバイダが関わる仕組みです。でも、このコースで相手にするのはあなたが自分で立てる、node の小さなモックだけ。実在の IdP に診断行為を向けることはしません——それは自分の許可環境の外です(法と倫理)。仕組みと綻びは、自作のモックで完全に学べます。すべて 127.0.0.1 で完結します。

準備ができたら、次の章へ。まずは、セッションを運ぶ器——Cookie と、その属性からです。

こうなっていればOK

卒業まであと5章です。

この章はまだ完了していません。