教科書で学ぶWebアプリケーションへの攻撃
定義ディレクトリトラバーサル は、ファイル名の指定に上の階層へ戻る パス の書き方を混ぜ、サーバ上の公開していないファイルを読み出す攻撃である。
解説パスとは、フォルダ (ディレクトリ) の階層をたどってファイルの場所を示す書き方で、例えば「../」は一つ上の階層を表す。利用者が指定したファイル名をそのまま使って中身を返すプログラムでは、「../」を重ねることで公開用のフォルダの外へ出られてしまう。対策は、指定されたファイル名を検証して階層の移動を許さないことや、公開しないファイルへのアクセス権を絞ることである。
たとえ資料室の窓口に「この棚の 3 冊目」ではなく「この棚から通路へ戻り、奥の書庫の 1 冊目」と頼み、確かめずに非公開の資料を出させるようなもの。
記憶フックトラバーサルは traverse (たどる・横切る) から来た語。ディレクトリの階層をたどって外へ出る、と語の並びがそのまま手口を表す。