概要

ディレクトリトラバーサル(パストラバーサル)とは、Webアプリがファイル名を受け取って処理する仕組みの不備を突き、「../」などの相対パスを使って本来アクセスできないはずのディレクトリ・ファイルへ不正にアクセスする攻撃です。「ディレクトリをたどる(traverse)」ことからこう呼ばれます。

攻撃が成功すると、サーバ内のパスワードファイルや設定ファイルなど、公開対象外の重要ファイルを閲覧・取得されてしまいます。

詳細(仕組み)

例えば、ファイル名をURLのパラメータで指定するアプリで、?file=image.png のような指定を受け付けるとします。ここで攻撃者が ?file=../../etc/passwd のように上位ディレクトリをたどる文字列を入れると、本来公開していないシステムファイルにアクセスできてしまう、という仕組みです。

ディレクトリトラバーサルのキーワードは「「../」でディレクトリをたどり、非公開ファイルへ不正アクセス」。対策は入力値の検証・パス指定をさせない設計・適切なアクセス権設定です。

対策

根本対策は「利用者にファイルパスを自由に指定させない」ことです。あわせてサーバ側のアクセス権設定を適切にしておくと、万一突かれても被害を限定できます。

インシデント事例

設定ファイル・認証情報の漏えい

ディレクトリトラバーサルの脆弱性を突かれ、サーバ内の設定ファイルやパスワード情報が読み取られ、さらなる侵入の足がかりにされた事例があります。入力値の検証不足が原因でした。

ネットワーク機器の脆弱性悪用

VPN機器などでディレクトリトラバーサルの脆弱性が悪用され、認証情報が窃取されて不正侵入につながった事例も報告されています。速やかなパッチ適用の重要性を示しました。

試験での問われ方