コンテンツへスキップ
uencoder

Path Traversal

パストラバーサル(ディレクトリ遷移攻撃)は、../ の並びを使って意図したディレクトリから脱出し任意のファイルへアクセスする攻撃であり、ファイル操作における代表的な脆弱性である。

目的

パストラバーサルによる任意ファイルの読み書きとその防御を理解する。ファイルアップロード/ダウンロードの典型的な欠陥である。

メカニズム

プログラムが base_dir + user_filename を連結する際、攻撃者は ../../etc/passwd を入力して base_dir から脱出する。防御としては path.resolve で絶対パスを解決し base_dir 内に留まることを確認する、basename の使用、ホワイトリストなどがある。

ユースケース

  • ファイル操作のセキュリティ
  • パスのバリデーション
  • ディレクトリの制限

関連ツール

References