ディレクトリトラバーサル攻撃(directory traversal attack)

ディレクトリトラバーサル攻撃とは、Webサーバ等のようにユーザが入力したファイル名にしたがって処理を行うコンピュータシステムにおいて、特殊な文字列を指定することにより、通常は外部からのアクセスを想定していないディレクトリやファイルを不正に閲覧する手法のことです。

OSの多くはファイルやディレクトリの所在を記述するパスとして、現在のディレクトリは「.」、一階層上の親ディレクトリは「..」、最上位ディレクトリは「/」や「¥」など特殊な記号の組み合わせが用いられています。

  • /etc/passwd
  • ../../etc/passwd

これを悪用して、コンピュータシステムに対して、ディレクトリ階層を移動するパスを指定することで、管理者が想定しないディレクトリやファイルへのアクセスを行い、個人情報やパスワードなどの窃取や、ファイルの改ざん、削除などが行われます。 

ディレクトリトラバーサル攻撃への対策としては、「.」「..」「/」「¥」など特殊な意味を持つ記号を他の文字に置き換えるなどがあります。

平成29年度 春期 情報セキュリティマネジメント試験 午前

f:id:aolaniengineer:20191119044233p:plain
情報セキュリティマネジメント試験 平成29年度 春期 午前 問23

ア 攻撃者が、Webアプリケーションの入力データとしてデータベースへの命令文を構成するデータを入力し、管理者の意図していないSQL文を実行させる。

これは、SQLインジェクション攻撃の説明です。

攻撃者が、パス名を使ってファイルを指定し、管理者の意図していないファイルを不正に閲覧する。

これが正解です。

ウ 攻撃者が、利用者をWebサイトに誘導した上で、WebアプリケーションによるHTML出力のエスケープ処理の欠陥を悪用し、利用者のWebブラウザで悪意のあるスクリプトを実行させる。

これは、クロスサイトスクリプティング(XSS)の説明です。

エ セッションIDによってセッションが管理されるとき、攻撃者がログイン中の利用者のセッションIDを不正に取得し、その利用者になりすましてサーバにアクセスする。

これは、セッションハイジャックの説明です。