ディレクトリトラバーサル【情報処理安全確保支援士講座】

今回は、情報処理安全確保支援士の試験で問われるディレクトリトラバーサルについて解説します。


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

ディレクトリトラバーサル(パストラバーサル)は、ユーザの入力データをはじめ、外部からファイル名として利用される文字列を受け取り、Webサーバ内のファイルにアクセスする仕組みのWebアプリの脆弱性を突いた攻撃です。

ファイル名の先頭に「../」など、上位のディレクトリを意味する文字列を用いて公開を意図していないファイルにアクセスします。
ディレクトリトラバーサルの攻撃例
ディレクトリトラバーサルの具体的な攻撃例を見てみましょう。カレントディレクトリが”/download?file=ユーザー指定”を前提として、file=にディレクトリを遡る入力を行います。
別のディレクトリにパスワードを格納している”/etc/password”が存在しる場合、下記を入力するとパスワード一覧を取得されてしまいます。
../../etc/password
ディレクトリトラバーサルの対策
外部から受け取った文字列でそのままWebサーバへのアクセスはディレクトリトラバーサルにおける脆弱性につながり危険です。また、上位ディレクトリを意味する文字列の入力も受け付けないように制御すべきです。
したがって、下記のような対策が考えられます。
- パス名からファイル名を取り出す”basename()”などのコマンドを利用し、文字列からディレクトリ名を取り除く
- Webサーバ内のアクセス権を適切に設定する
- ファイル名に「../」や「/」などの文字列がないかをチェックする
ディレクトリトラバーサル・例題
実際に例題を解いて問題に慣れていきましょう。
問
ア:攻撃者が,OSの操作コマンドを利用するアプリケーションに対して,OSのディレクトリ作成コマンドを渡して実行する。
イ:攻撃者が,SQL文のリテラル部分の生成処理に問題があるアプリケーションに対して,任意のSQL文を渡して実行する。
ウ:攻撃者が,シングルサインオンを提供するディレクトリサービスに対して,不正に入手した認証情報を用いてログインし,複数のアプリケーションを不正使用する。
エ:攻撃者が,ファイル名の入力を伴うアプリケーションに対して,上位のディレクトリを意味する文字列を使って,非公開のファイルにアクセスする。
(ログイン後回答すると、ここに前回の正誤情報が表示されます)
ディレクトリトラバーサル・まとめ
ディレクトリトラバーサルは過去にも問われた攻撃手法です。攻撃名も含め、具体的な攻撃内容や対策方法は押さえておきましょう。
次回はサーバサイドリクエストフォージェリ(SSRF)について学習します。
支援士の知識を、実際の問題で確かめよう
理解を得点力につなげる
情報処理安全確保支援士試験の過去問題・シラバス準拠問題を無料で掲載しています。 解説と図解を活用しながら、科目A-2の知識を科目Bで使える理解へつなげましょう。
- 科目Bにつながる体系的な知識 正解を覚えるだけでなく、類題で使える判断軸まで学べます。
- 復習に使える図解シート メモや試験直前の見直しにも使える解説画像を無料でダウンロードできます。
- シラバス準拠問題で未知問題対策 過去問だけでは補いにくい未出・薄出論点にも挑戦できます。
アカウント登録なしでも、すべての問題を無料で利用できます
無料登録すると、解答履歴・正答率・復習状況が保存され、続きから学習できます







Discussion
New Comments
No comments yet. Be the first one!