スポンサーリンク

問題の解答・解説ページ

このページは解説の閲覧モードです。
実力試しをしたい方は、下のボタンからクイズに挑戦してください!

この問題をクイズ形式で解く
問題 No.4256
Webアプリケーションの脆弱性のひとつであり、利用者からの入力値に「../」などの文字列が含まれている場合に、想定外のファイルやディレクトリへのアクセスを許してしまうサイバー攻撃の手法はどれか。

【正解の解説】

ディレクトリラバーサル

これはビル管理の裏口の鍵を勝手に操作して、本来立ち入ってはいけない館長室や重要書類の保管庫に侵入するようなものです。Webアプリがファイル名を正しく確認しない隙を突き、「../」という親ディレクトリに移動するコマンドを悪用して、パスワードファイルなどの機密情報を盗み出します。適切な入力値の検証やファイル名の直接指定を避ける設計が最大の防御策となります。

スポンサーリンク

【その他の選択肢の解説】

クロスサイトスクリプティング

ディレクトリラバーサルがサーバー内のファイル構造を狙うのに対し、クロスサイトスクリプティングはWebサイトの閲覧者を標的にします。他人のセッション情報を盗み取るなどの被害を引き起こすが、ファイル閲覧を目的とする本問の攻撃とは根本的な仕組みと狙いが異なるため明確に区別して覚えましょう。

SQLインジェクション

ディレクトリラバーサルがOSのファイルシステムを標的にするのに対し、SQLインジェクションはデータベース管理システムを標的にします。どちらも「利用者の入力をそのまま信用してしまう」という脆弱性が原因で発生しますが、攻撃の矛先がファイルかデータベースかという点で決定的な違いがあります。

バッファオーバーフロー

メモリの境界チェックを怠るプログラムの欠陥を突くものであり、パス名の不正操作を狙うディレクトリラバーサルとはまったく異なる脆弱性です。こちらはシステムの制御を奪って悪意あるコードを実行させることが主な目的となりますが、入力値の不備に起因するという点だけが共通しています。