ディレクトリトラバーサルについて説明していきます。
■概要
Webアプリケーションには外部からのパラメータにファイル名を直接指定しているものがありますが、その実装に不備がある場合、攻撃者に非公開ディレクトリにアクセスされる可能性があります。
ディレクトリを横切る(トラバース)ということで「ディレクトリトラバーサル」と呼びます。
※パラメータとは
URLの末尾部分「?」以降の文字列で、サーバに情報を送信する際に利用します。
【例:https://example.com?a=sample】
■想定される被害
ディレクトリトラバーサルによってWebサーバ内の非公開ディレクトリにあるファイルに不正にアクセスされ、以下のような被害にあう可能性があります。
どのような被害を受ける可能性があるかあらかじめ把握しておき、攻撃を受けないように対策を検討することが必要です。
・情報漏えい(機密情報、個人情報)
・重要ファイルの改ざん、削除
■対策
ディレクトリトラバーサルの対策として挙げられるものは以下のようなものとなります。
・外部パラメータからWebサーバ内のファイル名を直接指定するような実装を避ける。
・固定のディレクトリを指定し、ファイル名にディレクトリ名が含まれないようにする。
・ファイル名をチェックして、ディレクトリを指定するような文字列が入力されないようにする。
・WAF(Web Application Firewall)を導入する。