ディレクトリトラバーサル

概要

入力ファイル名のセキュリティ検証/無害化が不十分なため、ファイルAPIに対して「親ディレクトリへの横断 (traverse)」を示すような文字がすり抜けて渡されてしまう。 ディレクトリを遡って任意のファイルにアクセスできてしまう。

対策

  • リクエストからの値をファイル名などに利用しない。
  • 読み込みを許可するファイルを許可リスト(allowlist)にしておき、チェックする。
  • ファイル名への使用を禁止する文字列を拒否リスト(denylist)にしておき、チェックする。
  • 言語・WAFの機能を利用する。
    • PHP → open_basedir

参考