PortSwigger Web Security Academy の Prototype Pollution ラボ群を、日本語の美容EC文脈で再構成した教材です。JavaScript の Object.prototype を汚染して認可バイパス、テンプレートインジェクション、DoS に至る攻撃を扱います。

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

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

知識ベース — 前提知識と概念整理
Knowledge Base · 各ラボから参照される基礎
KB1
Prototype Pollution の基礎
JS のプロトタイプ機構、汚染の仕組み、危険なマージ実装、影響範囲、Map / Object.create(null) / freeze による正しい防御。
Phase 1 — 基礎
Practitioner · 主要パターン
01
Object 汚染で isAdmin を強制 true に
設定 API の deepMerge で __proto__ キーを除外していない。Object.prototype.isAdmin = true の汚染で全ユーザが管理者扱いに。
Practitioner
02
サーバーサイド汚染からの DoS
Object.prototype.toString や hasOwnProperty を書き換えて、アプリ全体に予期せぬ TypeError を撒く。
準備中
03
クライアントサイド DOM 汚染 → XSS
URL hash や query から JS オブジェクトに代入する処理経由で、ブラウザ側の prototype を汚染して DOM-based XSS を誘発。
準備中
04
lodash 旧バージョン経由の汚染
lodash 4.17.11 以前の _.merge / _.set / _.defaultsDeep を使ったコードベースの脆弱性パターン。
準備中
05
テンプレートインジェクションから RCE
Pug や EJS のテンプレートエンジンで内部プロパティが汚染されると、テンプレートコードが任意 JS 実行に至るケース。
準備中