PortSwigger Web Security Academy の OAuth ラボ群を、日本語の美容EC文脈で再構成した教材です。redirect_uri 検証ミス、state 検証欠落、open redirect 連携、PKCE バイパスなど OAuth 実装の典型脆弱性を扱います。

全5問予定 Lab 01 公開 シミュレータ完結

教育目的のシミュレータです。攻撃の挙動はブラウザ内で完結し、外部システムへの影響はありません。

知識ベース — 前提知識と概念整理
Knowledge Base · 各ラボから参照される基礎
KB1
OAuth 2.0 の基礎
Authorization Code Flow、redirect_uri の検証ミス、state パラメータ、client_secret の管理、完全一致 + PKCE による正しい防御。
Phase 1 — 基礎
Practitioner · 主要パターン
01
redirect_uri の prefix 検証ミス
LINE 連携の redirect_uri が prefix 一致でしか検証されず、shop.utsuroi.example.com.evil.com で素通り。認可コードを攻撃者ドメインへ。
Practitioner
02
state パラメータ未検証 → CSRF
state を検証していないクライアントに対して、攻撃者の認可コードを被害者ブラウザで「ログイン」させる CSRF。
準備中
03
open redirect を介した認可コード窃取
redirect_uri は完全一致でも、その先のページに open redirect 脆弱性があり最終的に攻撃者ドメインへ。
準備中
04
implicit flow からの token 窃取
implicit flow を使っている古い実装で、URL fragment 経由のトークンを XSS や open redirect で窃取。
準備中
05
OpenID Connect の id_token 検証ミス
ID プロバイダの公開鍵検証がなく、誰でも署名した id_token を受け入れてしまう実装ミス。
準備中