コース目次 / 第0章
はじめに — 隔離された枠の中で壊す
この試食が、なぜ安全に本物の脆弱性を起こせるのか。隔離サンドボックスの仕組みと、法と倫理ゲートを確認します。
「作る側」を少しでも触った人にとって、次の一歩は「作ったものが、どう壊れるか」を知ることです。このコースは、その入口です。インストールは要りません。このページの中だけで、15分。Web でよく起きる壊れ方を3つ、本物の挙動として触ります。
なぜ安全に「本物」を起こせるのか
攻撃を体験する教材の難しさは、「本物を見せたいが、危なくない形で」という点にあります。このコースは、それを隔離サンドボックスで解いています。
各デモは、ページの中に埋め込まれた小さな iframe(枠)の中で動きます。この枠には、次の仕掛けがしてあります。
sandbox属性で隔離されていて、しかも同一オリジン扱いを外してあります。枠の中は「どこのサイトでもない不透明な出自」になり、親ページ(このサイト)の Cookie や保存データ、画面には一切触れません。- 枠の中でスクリプトが動いても、外には響きません。中で何が「爆発」しても、被害は枠の中で完結します。
- 扱うデータはすべて架空です。実在の人物・企業・システムは出てきません。
つまり、この枠は使い捨ての実験室です。中で本物の DOM XSS を起こしても、あなたのブラウザの他のタブにも、このサイトにも、外の誰にも影響しません。うまくいかなくなったら、ページを再読み込みすれば元どおりです。
それでも、線は最初に引く
隔離されていても、ここで学ぶのは攻撃の技術です。技術そのものに善悪はありませんが、使う場所には線があります。このコースを含むすべてのセキュリティコースは、その線への同意の上に立っています。
法と倫理ゲート
手を動かす前に
このコースは攻撃の技術に触れます。実習してよい相手は、次の3つだけです。
- (a) 自分で作った練習用のやられ環境(このサイトが配る自作ターゲット)
- (b) あなた自身の許可された環境(自分の Thousand SKY・secret-notes-ctf など)
- (c) CTF 競技の中(規約の範囲で)
実在する第三者のシステムを許可なく触ることは、不正アクセス禁止法に触れます。 このゲートは、その線引きを毎回の入口で確かめるためのものです。詳しくは「セキュリティの法と倫理」へ。
もし上の内容がはじめてなら、先に「セキュリティの法と倫理」を通ることを強くすすめます。不正アクセス禁止法の分岐点は「承諾」——このコースのデモが安全なのは、攻撃相手が「自作の隔離サンドボックス」だからです。
この試食で触る3つ
| 章 | 見るもの | 一言 |
|---|---|---|
| 第1章 | DOM XSS | 入力を innerHTML に渡すと、それがコードとして動く |
| 第2章 | JWT デコード | トークンは「暗号化」ではない。誰でも中身を読める |
| 第3章 | クライアント任せの権限 | ブラウザの中の「隠す」は、守りにならない |
準備ができたら、次の章へ。まずは Web でいちばん有名な壊れ方、XSS からです。
こうなっていればOK
卒業まであと4章です。
この章はまだ完了していません。
保存できませんでした(プライベートブラウズ中かもしれません)。この端末に進捗は残りませんが、先へは進めます。