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

セキュリティ

今回は、公開されていないディレクトリ(フォルダ)に不正アクセスする内容を紹介します。
Webサーバは基本的に複数のディレクトリで構成されています。
情報公開しているディレクトリから「相対パス」を使用して非公開のディレクトリにアクセスすることをディレクトリトラバーサルと呼びます。

絶対パスと相対パス

【絶対パス】
Webページ等を作成する際に、画像や音源などを各フォルダに分けて格納し、HTMLタグなどでその場所に対して直接URLを打ち込んでいるのが絶対パスとなります。
例: system-trust.com/img/sample.jpg
system-trust.com/index.htmlという場所からsampleの画像を呼びだす時に上記のパスを指定することで表示させることができます。
【相対パス】
例: ./img/sample.jpg
system-trust.com/index.htmlという場所からsampleの画像を呼び出す際に指定するパスです。
相対パスには位置を記述する際に現在のディレクトリを「./」一つ上のディレクトリを「../」で記述します。
例えば、system-trust.com/kimitsu/kokyaku.txtという個人情報があったとすると、
不正アクセス者は、system-trust.com/index.htmlの場所から、「./kimitsu/kokyaku.txt」と打ち込むことで非公開情報だったものが閲覧できてしまうことになります。

対策

・各ファイル・ディレクトリに対してアクセス権を付与しましょう。
 第三者がアクセスできないように設定することが対策の第一歩となります。
・相対パスを利用する文字列が組まれた際に処理を中断するように処置しましょう。
 入力チェックの際に「./」「../」などの相対パスで使う文字列は実行しないようにコードを組んで対策しましょう。

まとめ

不正アクセスは脆弱性を利用した攻撃が殆どになります。
今回のディレクトリトラバーサルも相対パスによる隙をついた攻撃です。
管理者は対策をしっかりと考えつつ、また正規の利用者に対しては不自由の無い操作性が求められます。

 

株式会社システムトラスト

人材募集中です。

システムトラストでは、システムエンジニア、プログラマーなどを随時募集中です。気軽にご相談ください。

お問合せ