平成30年度春期 応用情報技術者試験 午前 問38
ディレクトリトラバーサル攻撃はどれか。
- ア OSコマンドを受け付けるアプリケーションに対して,攻撃者が,ディレクトリを作成するOSコマンドの文字列を入力して実行させる。
- イ SQL文のリテラル部分の生成処理に問題があるアプリケーションに対して,攻撃者が,任意のSQL文を渡して実行させる。
- ウ シングルサインオンを提供するディレクトリサービスに対して,攻撃者が,不正に入手した認証情報を用いてログインし,複数のアプリケーションを不正使用する。
- エ 入力文字列からアクセスするファイル名を組み立てるアプリケーションに対して,攻撃者が,上位のディレクトリを意味する文字列を入力して,非公開のファイルにアクセスする。
解答・解説を見る
正解:エ
AI解説
ディレクトリトラバーサル攻撃は,ファイル名を外部からの入力文字列で組み立てるアプリケーションに対し,「../」(上位ディレクトリを意味する文字列)などを入力してパス指定を遡り,本来公開されていないファイルに不正アクセスする攻撃である。「上位ディレクトリの指定で非公開ファイルにアクセス」が判断基準となる。 ア: 誤り。アプリケーションにOSコマンドの文字列を入力して実行させるのはOSコマンドインジェクションの説明である。 イ: 誤り。SQL文のリテラル生成処理の不備を突いて任意のSQL文を実行させるのはSQLインジェクションの説明である。 ウ: 誤り。不正入手した認証情報でディレクトリサービス(シングルサインオン)にログインして悪用するのは,なりすまし(不正ログイン)の説明である。「ディレクトリ」という語で混同を誘っている。 エ: 正解。上位ディレクトリを意味する文字列(../など)を入力して非公開ファイルにアクセスするのがディレクトリトラバーサル攻撃である。 💡 インジェクション系攻撃は「何を注入するか」で区別する: SQL文ならSQLインジェクション,OSコマンドならOSコマンドインジェクション,スクリプトならXSS,「../」ならディレクトリトラバーサル。対策は入力値の検証とパス名の正規化チェックである。
※Web掲載用に表記を一部変更しています。著作権はIPAに帰属します。