知識ベース — 前提知識と概念整理
Knowledge Base · 各ラボから参照される基礎
KB1
ファイルシステムとパス
ファイルシステムの階層構造、絶対パスと相対パス、特殊な
..、Web サーバが触るファイル、攻撃者が読みたいファイル。KB2
検証回避テクニックと防御
.. フィルタ回避、URL エンコード、二重エンコード、null バイト、絶対パス回避、ホワイトリスト・正規化による正しい防御。Phase 1 — 基礎
Apprentice / Practitioner · Path Traversal の主要パターン
01
Path Traversal — 記事添付ファイルから秘密情報を漏洩
うつろい journal の添付ファイルダウンロード API が
.. をフィルタしていない。基準ディレクトリの外側にあるアプリの設定ファイル、システムユーザ一覧、SSH 鍵を取得する。02
単純な
../ フィルタの回避サーバが入力から
../ を1度だけ置換削除する実装。....// 等の二重表現で素通り。03
URL エンコード回避
フィルタは生の
../ しか見ていない。%2e%2e%2f でエンコードして送ると素通り。04
拡張子チェックの回避(null バイト)
サーバが「末尾が .pdf であること」を要求するが、null バイトでファイル名を切れる古典攻撃。
05
prefix チェックの不備 — 末尾スラッシュ忘れ
サーバが
realpath 後に基準ディレクトリの prefix チェックをするが、末尾区切り文字を忘れて prefix 一致で兄弟ディレクトリが素通り。