セキュリティ · Web 診断
インジェクションを体で覚える
各インジェクションを起こす側と直す側を、必ず対にして扱います。localhost の自作やられを使います。
- 実習
- localhost で実習
- 環境構築
- 重さ 2 / 3
- 前提
- sec-web-basics 修了
- 倫理
- 第0章の法と倫理ゲートへの同意が必須です。
読み込み中…
インジェクションを、起こす側と直す側を必ず対にして扱います。XSS の三種・SQL・コマンド・SSTI・パストラバーサル——ばらばらに見えて、根は一つ。対象は localhost の自作やられだけです。
章の一覧
- 未完了第0章はじめに — 注入は、境界の崩壊ばらばらに見えるインジェクション各種が、実は「データが別の言語のコードとして解釈される」という一つの形だと掴みます。起こす側と直す側を対にする方針を確認し、法と倫理ゲートに同意します。約6分
- 未完了第1章XSS 三種 — 反射・保存・DOMXSSの三つの型を並べて見比べます。保存型を自作ゲストブックで発火させ、反射・DOMとの配送経路の違いを掴みます。直しは文脈別の出力エスケープ、補助にCSP。約14分
- 未完了第2章SQL インジェクション — 入力が、SQL になる文字列連結で組んだログインクエリに ' OR を注入し、パスワードなしでログインを突破します。原因を理解し、プレースホルダ(パラメータ化)で直し、同じ攻撃で再検証します。約14分
- 未完了第3章コマンドインジェクション — 入力が、コマンドになる入力をシェルコマンドに連結する処理に、区切り記号で別コマンドを注入します。原因を理解し、そもそもシェルを介さない・引数配列で渡すという直しで、再検証します。約12分
- 未完了第4章SSTI とパストラバーサル — 式とパスの越境ユーザー入力がテンプレートの式として評価されるSSTIを起こし、テンプレとデータを分ける直しを確かめます。capstoneで作ったパストラバーサルを注入の一種として復習します。約12分
- 未完了第5章まとめ — 五つの穴を、一つの原則にXSS・SQLi・コマンド・SSTI・パストラバーサルを、データとコードを混ぜないという一つの原則に畳みます。パラメータ化・文脈別エスケープ・許可リストを持って、認可のコースへ進みます。約5分
詰まったときはお助けページへ。章ごとのファイル一式をダウンロードして、途中から再開できます。