ディレクトリトラバーサルとは?
ディレクトリトラバーサルとは、ファイル名を受け取る処理に「../」などの相対パスを与え、公開領域の外にあるファイルを読み書きさせる攻撃。パストラバーサルとも呼ぶ。応用情報では、ファイル名をそのまま連結する実装の危うさと、正規化後の検査が必要な理由が問われる。
応用情報技術者試験の過去問では1回出題されています。
でぃれくとりとらばーさる
ディレクトリトラバーサルの意味
ファイル名を受け取る処理に「../」などの相対パスを与え、公開領域の外にあるファイルを読み書きさせる攻撃。パストラバーサルとも呼ぶ。応用情報では、ファイル名をそのまま連結する実装の危うさと、正規化後の検査が必要な理由が問われる。
ディレクトリトラバーサルの具体例
download?file=manual.pdf の値を ../../etc/passwd に変えると設定ファイルが取得できてしまう。対策は、外部からファイル名を直接受け取らずIDと実ファイルの対応表を持つ方式に変えるか、パスを正規化したうえで公開ディレクトリ配下かを検証する。
ディレクトリトラバーサルは試験でどう引っ掛けられる?
「../ を文字列置換で除去すれば安全」は誤り。....// のような二重記法やURLエンコード、Unicodeの別表現で復元される。除去ではなく「正規化してから許可範囲かを判定する」順序が正解になる。
ディレクトリトラバーサルと関連する用語
ディレクトリトラバーサルが出た過去問
ディレクトリトラバーサル攻撃はどれか。
正解:入力文字列からアクセスするファイル名を組み立てるアプリケーションに対して、攻撃者が、上位のディレクトリを意味する文字列を入力して、非公開のファイルにアクセスする。
要点:ディレクトリトラバーサルは相対パスで非公開ファイルへ到達
ディレクトリトラバーサルは、ファイル名を入力値から組み立てるアプリケーションに対し、上位ディレクトリを表す「../」などを含む文字列を与えて、本来公開していないファイルへアクセスする攻撃である。対策は入力値からパス移動を表す文字列を排除し、ファイル名を直接指定させない設計にすることである。
出典:平成30年度 春期 応用情報技術者試験 午前 問38(IPA)
最終更新:2026-08-25/解説は資格暗記が独自に作成しています。 過去問の出典は各問題に記載のとおりです。