IT用語
ファイル名などの入力に「../」を含めて、公開していない場所のファイルを読み書きさせる攻撃。
- 別名・略称
- ディレクトリトラバーサル
パストラバーサル(ディレクトリトラバーサル)は、ファイル名やパスを入力として受け取る処理に、「../」(一つ上のディレクトリ)などを含めた値を送り、本来アクセスさせるつもりのない場所のファイルを読み取らせたり、書き込ませたりする攻撃です。
仕組み
例えば、download.php?file=report.pdf のように、指定されたファイル名をそのまま使ってファイルを読み込んでいると、file=../../wp-config.php のような値を送られて、設定ファイルの内容を読み取られてしまいます。
起きる被害
対策
- 利用者の入力をファイルのパスとして直接使わない(ID とファイルの対応表を使うなど)
- 使う場合は、ファイル名だけを取り出し(PHP の basename() など)、許可したディレクトリの中にあるかを確かめる
- アプリケーションを必要最小限の権限で動かし、読み書きできる場所を限る(最小権限)

