コース目次 / 第0章

はじめに — 隔離された枠の中で壊す

この試食が、なぜ安全に本物の脆弱性を起こせるのか。隔離サンドボックスの仕組みと、法と倫理ゲートを確認します。

第0章 / 全5章目安 約4分この章のゴール: 隔離サンドボックスの仕組みを理解し、3つのデモに進む準備をする

「作る側」を少しでも触った人にとって、次の一歩は「作ったものが、どう壊れるか」を知ることです。このコースは、その入口です。インストールは要りません。このページの中だけで、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章です。

この章はまだ完了していません。