GRADUATION
「あなたが誰か」を運ぶ仕組みの壊れ方が、見えました。
ログイン後の「あなた」を運ぶセッションとCookie、それを狙うセッション固定とCSRF、そしてOAuth/OIDCの認可コードフローとその綻びを、自作のモックを相手に体系立てて診断できるようになりました。
おつかれさまでした。
持ち帰るもの
- セッションIDは、当てられてはいけないセッションIDは十分にランダムで長く、ログイン時に必ず再生成する。予測やセッション固定で「他人のセッション」を掴ませない。
- Cookie属性で守るHttpOnly(JSから隠す)・Secure(HTTPS限定)・SameSite(他サイト起点の送信を絞る)。この3つが、盗難とCSRFの土台を締めます。
- 状態を変える操作は、意図の確認をCSRFトークンとSameSite、OAuthのstate。いずれも「この操作は本当にその利用者が意図したものか」を確かめる仕組みです。
次にやるといいこと
- JWT の中身と検証は「JWT を分解する」で個別に深掘りできます(alg:none・弱鍵・alg混同)。
- 認証の診断は、報告書(sec-report)やセキュアコーディング(sec-securecoding)で「直しの提案」として繰り返し出てきます。