応用情報技術者 2009年 春期 午前2 問42
問題文
ディレクトリトラバーサル攻撃に該当するものはどれか。
選択肢
ア:Webアプリケーションの入力データとしてデータベースへの命令文を構成するデータを入力し、想定外のSQL文を実行する。
イ:Webサイトに利用者を誘導して,Webサイトの入力データ処理の欠陥を悪用し、利用者のブラウザで悪意のあるスクリプトを実行する。
ウ:サーバ内の想定外のファイル名を直接指定することによって、本来は許されないファイルを不正に閲覧する。(正解)
エ:セッションIDによってセッションが管理されるとき、ログイン中の利用者のセッションIDを不正に取得し、その利用者に成りすましてアクセスする。
ディレクトリトラバーサル攻撃に該当するものはどれか【午前2 解説】
要点まとめ
- 結論:ディレクトリトラバーサル攻撃は、サーバの想定外のファイルを不正に閲覧する攻撃であり、正解はウです。
- 根拠:攻撃者がファイルパスを操作し、本来アクセスできないファイルを読み取ることで情報漏洩を狙います。
- 差がつくポイント:SQLインジェクションやXSS、セッションハイジャックとの違いを明確に理解し、ファイルパス操作に注目しましょう。
正解の理由
選択肢ウは「サーバ内の想定外のファイル名を直接指定し、本来許されないファイルを不正に閲覧する」行為を指し、これがディレクトリトラバーサル攻撃の典型的な手法です。攻撃者は「../」などの相対パスを用いて上位ディレクトリに遡り、機密ファイルを読み取ります。
よくある誤解
ディレクトリトラバーサル攻撃はSQLインジェクションやクロスサイトスクリプティング(XSS)とは異なり、データベース操作やブラウザ上のスクリプト実行を狙うものではありません。
解法ステップ
- 問題文の「ディレクトリトラバーサル攻撃」の意味を確認する。
- 各選択肢の攻撃手法を理解し、ファイルパス操作に関するものを探す。
- ファイルの不正閲覧を狙う選択肢が正解候補となる。
- 他の選択肢はSQLインジェクション、XSS、セッションハイジャックであることを確認し除外する。
- 正解はウであると判断する。
選択肢別の誤答解説
- ア: SQLインジェクション攻撃。データベースの命令文を不正に操作するもので、ディレクトリトラバーサルとは異なります。
- イ: クロスサイトスクリプティング(XSS)。利用者のブラウザで悪意あるスクリプトを実行させる攻撃です。
- ウ: ディレクトリトラバーサル攻撃。ファイルパスを操作し不正にファイルを閲覧します。
- エ: セッションハイジャック。セッションIDを盗み利用者になりすます攻撃で、ファイル操作とは無関係です。
補足コラム
ディレクトリトラバーサル攻撃は、Webアプリケーションのファイルアクセス処理におけるパスの検証不足が原因で発生します。対策としては、入力値の正規化やホワイトリストによるファイル名制限、絶対パスの使用が有効です。
FAQ
Q: ディレクトリトラバーサル攻撃はどのように防止できますか?
A: 入力値の検証と正規化、ファイルパスのホワイトリスト化、アクセス権限の適切な設定が重要です。
A: 入力値の検証と正規化、ファイルパスのホワイトリスト化、アクセス権限の適切な設定が重要です。
Q: ディレクトリトラバーサル攻撃とSQLインジェクションの違いは何ですか?
A: ディレクトリトラバーサルはファイルパス操作による不正ファイル閲覧、SQLインジェクションはデータベース命令文の不正操作です。
A: ディレクトリトラバーサルはファイルパス操作による不正ファイル閲覧、SQLインジェクションはデータベース命令文の不正操作です。
関連キーワード: ディレクトリトラバーサル、ファイルパス操作、Webセキュリティ、SQLインジェクション、クロスサイトスクリプティング、セッションハイジャック

\ せっかくなら /
応用情報技術者を
クイズ形式で学習しませんか?
クイズ画面へ遷移する→
すぐに利用可能!

