平成30年度 春期 午前 問38
セキュリティ
ディレクトリトラバーサル攻撃
ディレクトリトラバーサル攻撃はどれか。
- アOS コマンドを受け付けるアプリケーションに対して,攻撃者が,ディレクトリを作成する OS コマンドの文字列を入力して実行させる。
- イSQL 文のリテラル部分の生成処理に問題があるアプリケーションに対して,攻撃者が,任意の SQL 文を渡して実行させる。
- ウシングルサインオンを提供するディレクトリサービスに対して,攻撃者が,不正に入手した認証情報を用いてログインし,複数のアプリケーションを不正使用する。
- エ入力文字列からアクセスするファイル名を組み立てるアプリケーションに対して,攻撃者が,上位のディレクトリを意味する文字列を入力して,非公開のファイルにアクセスする。
答えと解説を見る
✓ これが正解エ入力文字列からアクセスするファイル名を組み立てるアプリケーションに対して,攻撃者が,上位のディレクトリを意味する文字列を入力して,非公開のファイルにアクセスする。
解説
上位を指す文字列で外へ登ります。
設問は、ディレクトリトラバーサル攻撃を選ばせています。軸は、後半のトラバーサルが辿るという意味だという点です。入力された文字からアクセスするファイル名を組み立てるつくりのところへ、上位の階層を指す文字列を入れて、公開用のディレクトリから外へ登っていく手口がこれに当たります。本来は見せない設定ファイルや利用者の情報が入ったファイルまで読み出されます。防ぎ方は三つあり、入力からファイル名を組み立てないこと、上位を指す文字列を弾くこと、読み取れる範囲そのものを絞ることです。この問の作りで厄介なのは、残る三つの肢のうち二つに似た言葉がわざと混ぜてあるところです。語が含まれているかではなく、何をする攻撃なのかで切ります。入力をそのまま組み立てに使うことが原因だという点は、並びで覚える仲間と共通していて、違うのは入れる物だけです。
ほかの選択肢はなぜ違うのか
- アOS コマンドを受け付けるアプリケーショ…:OS コマンドを受け付けるアプリケーションに対し、コマンドの文字列を入れて実行させる手口です。階層を作る命令という言葉が混ぜてありますが、入れる物が違います。
- イSQL 文のリテラル部分の生成処理に問題…:問合せ文の組立てに問題があるつくりに対し、任意の問合せ文を渡して実行させる SQL インジェクションです。入れる物は問合せ文であって、階層を辿る文字列ではありません。
- ウシングルサインオンを提供するディレクトリ…:一度の認証で複数の仕組みを使えるディレクトリサービスへ、盗んだ認証情報で入る話です。ここでの階層は利用者の名簿であって、ファイルの入れ物ではありません。
この問題の用語
- ディレクトリトラバーサルパス名を使ってファイルを指定し、見せる気のないファイルを読む攻撃です。命令文を送り込んで実行させるSQLインジェクションとは別です。
- 認証名乗ったとおりの本人か、通信の相手が本物かを確かめる手続き。ここを経ずに入り込む裏口があると、後の許可の仕組みが働きません。
- ログいつ誰が何をしたかを、機器やソフトウェアが自動で残していく記録です。あとから出来事をたどれるので、事故の調査や不正の発見に使われます。
出典:平成30年度 春期 応用情報技術者試験 午前 問38
同じ用語が出る問題
- 令和7年度 春期 午前 問38:OCSPを利用する目的(認証)
- 令和6年度 秋期 午前 問46:エクスプロイトコードの説明(認証)
- 令和6年度 秋期 午前 問39:ディープフェイクに関する問題(認証)
- 平成27年度 春期 午前 問46:ディレクトリトラバーサル攻撃(ディレクトリトラバーサル)
- 平成21年度 春期 午前 問42:ディレクトリトラバーサルの問題(ディレクトリトラバーサル)
この解説に誤りを見つけたら教えてください。直して、直した記録を残します。誤りを報告する(メールが開きます)