問題
問45 ディレクトリトラバーサル攻撃に該当するものはどれか。
ア Webアプリケーションの入力データとしてデータベースへの命令文を構成するデータを入力し、想定外のSQL文を実行させる。
イ Webサイトに利用者を誘導した上で、Webサイトの入力データ処理の欠陥を悪用し、利用者のブラウザで悪意のあるスクリプトを実行させる。
ウ 管理者が意図していないパスでサーバ内のファイルを指定することによって、本来は許されないファイルを不正に閲覧する。
エ セッションIDによってセッションが管理されるとき、ログイン中の利用者のセッションIDを不正に取得し、その利用者になりすましてサーバにアクセスする。
解説と解答
ディレクトリトラバーサルとは、本来許可されないファイルにアクセスする攻撃手法です。相対パス指定において親ディレクトリを表す(../)など、システムが想定外のファイル名を指定することで不正にファイルにアクセスします。以上から正解はウです。
例えば、以下のようなディレクトリ構造で、ユーザには「open」ディレクトリのみを公開しているとします。
Web画面上でユーザがテキストボックスに「abc.txt」と入力すると、Webアプリケーションがそれを受け取り、「c:/test/open/」を付加して「c:/test/open/abc.txt」というパスを作成して、当該ファイルにアクセスして結果を返すという仕組みになっています。
この時、悪意のあるユーザが「../secret/xyz.txt」と入力したとします。何の対策もたてていない場合、Webアプリケーションはそれを受け取り、「c:/test/open/」を付加して「c:/test/open/../secret/xyz.txt 」というパスを作成します。「..」は親のディレクトリを示しますから、本来公開する予定ではなかったディレクトリの内部のファイルにアクセスしてしまいます。
ア SQLインジェクションに関する記述です。
イ クロスサイトスクリプティングに関する記述です。
エ セッションハイジャックに関する記述です。