知識ベース — 前提知識と概念整理
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 の汚染で全ユーザが管理者扱いに。
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 実行に至るケース。