ディレクトリトラバーサル【directory traversal】パストラバーサル/path traversal

概要

ディレクトリトラバーサルとはファイルディレクトリの場所を指定するパスの記法を悪用し、本来アクセスを許可されていないファイルディレクトリへ不正にアクセスする攻撃手法。Webアプリケーションなどの脆弱性として知られ、機密情報の漏洩やシステムの不正操作につながる恐れがある。
ディレクトリトラバーサルのイメージ画像

攻撃対象となるのは、利用者から受け取ったファイル名パスを十分に検証せず、そのままファイル操作に利用するプログラムである。外部からファイル名などの指定をパラメータとして受け付ける場合に、その文字列の取り扱いに問題があると標的となりやすい。

多くのオペレーティングシステム(OS)では、現在のディレクトリを示す「.」や、一階層上の親ディレクトリを示す「..」、最上位ディレクトリを示す先頭の「/」(UNIX系OSの場合)や「\」(Windowsの場合)といった特殊な記号がパスの記法として定められている。攻撃者はこれを悪用し、ディレクトリ階層をさかのぼるパスプログラムに与える。

具体的には、「../」や「..\」を繰り返した文字列をファイル名URLパラメータに混入させることで、開発者が想定していない場所のファイルへのアクセスを試みる。このような操作により、システムは公開する予定のない領域まで階層を遡って読み出してしまう場合がある。

攻撃が成功すると、パスワード個人情報、認証情報、設定ファイルソースコードなどの情報が窃取される危険性がある。また、アプリケーションが書き込みや削除を行える権限で動作している場合には、システム設定が記録されたファイル改竄や削除によってシステム環境そのものが破壊されることもある。取得した情報を足掛かりに、別の攻撃へと発展する事例も少なくない。

この攻撃が発生する原因としては、利用者が入力した文字列に特殊な記号が含まれていないかを検証する処理が不足していることや、ファイル指定の仕組み自体に不備があることが挙げられる。対策としては、資源の指定方法として任意のパスそのものを受け付けるのをやめ、指定可能な文字列やファイルを列挙するホワイトリスト方式を採用することが基本となる。

また、パス正規化して意図したディレクトリの外を参照していないか確認することや、アプリケーションがアクセスできるディレクトリの範囲を権限設定によって限定すること、公開領域と機密領域を分離することも有効な手段である。近年ではフレームワークライブラリが安全なファイル操作機能を提供している場合も多く、それらを活用することで脆弱性の発生を防ぎやすくなっている。

(2026.7.4更新)
 

他の辞典等による「ディレクトリトラバーサル」の解説 (外部サイト)

資格試験などの「ディレクトリトラバーサル」の出題履歴

▼ 基本情報技術者試験
令1修12/平30修7/平29春/平27修12/平26秋/平25修7/平24春/平22修7】 ディレクトリトラバーサル攻撃に該当するものはどれか。
平29修1】 ディレクトリトラバーサル攻撃はどれか。
この記事の著者 : (株)インセプト IT用語辞典 e-Words 編集部
1997年8月より「IT用語辞典 e-Words」を執筆・編集しています。累計公開記事数は1万ページ以上、累計サイト訪問者数は1億人以上です。学術論文や官公庁の資料などへも多数の記事が引用・参照されています。