Skip to the content.

まず結論

ディレクトリトラバーサルとは、パス指定を悪用して本来アクセスできないファイルにアクセスする攻撃です。SG試験では「不正なファイル参照かどうか」を見抜く問題として出題されます。


直感的な説明

フォルダの中にある資料を取り出すとき、普通は決められた場所しか見られません。

しかし攻撃者は
「1つ上のフォルダに戻る(../)」という指定を使って
本来見えない場所までたどり着きます。

イメージとしては👇

  • 許可されたフォルダ:公開資料
  • 攻撃者の操作:裏の倉庫まで勝手に入り込む

つまり「道(パス)をズルして、立ち入り禁止エリアに入る攻撃」です。


定義・仕組み

ディレクトリトラバーサルは、Webアプリのファイル参照処理の不備を突く攻撃です。

基本の仕組み

  1. アプリがファイルパスをユーザー入力から受け取る
  2. 入力チェックが不十分
  3. 攻撃者が「../」などを混ぜる
  4. 上位ディレクトリに移動して機密ファイルにアクセス

典型例

/download?file=../../etc/passwd

本来は「公開フォルダ内のファイル」だけを取得する想定でも、
上の階層へ移動できてしまうと、システム内部のファイルが読めてしまいます。

なぜ問題か

  • 設定ファイルやパスワード情報が漏えいする
  • サーバ内部構造が知られる
  • 他の攻撃(不正アクセス)につながる

どんな場面で使う?

使われる場面

  • ファイルダウンロード機能
  • 画像表示機能
  • ログ閲覧機能

👉「ユーザー入力でファイルを指定できる」仕組みは要注意

誤解しやすい場面

  • 単なるURL操作ではなく「パスの解釈の問題」
  • 認証を突破する攻撃ではない(アクセス制御の不備とは別)

よくある誤解・混同

❌ SQLインジェクションと同じ?

→ ⭕ 全く別物

  • SQLインジェクション:データベース操作を改ざん
  • ディレクトリトラバーサル:ファイルパスを悪用

👉 SG試験ではこの違いをよく問われます


❌ OSの脆弱性の問題?

→ ⭕ 多くはアプリの入力チェック不備

  • 原因は「設計・実装のミス」
  • 対策は「入力値の制御」

❌ 認証があれば防げる?

→ ⭕ 認証とは別問題

  • ログイン済でも発生する可能性あり
  • アクセス制御だけでは不十分

SG試験でのひっかけ

  • 「SQLを実行する攻撃」と書いてあれば誤り(それはSQLインジェクション)
  • 「パス指定でファイルにアクセス」とあればディレクトリトラバーサル

確認問題(SG試験対策)

次のうち、ディレクトリトラバーサル攻撃の説明として最も適切なものはどれか。

A. ../ などを使って、本来アクセスできないファイルを参照しようとする攻撃である。 B. パスワードを辞書順に並べ替えて保存する対策である。 C. 感染端末に指令を送るサーバを構築する攻撃である。 D. 利用者に偽メールを送り、金融情報を入力させる攻撃である。

▶ クリックして答えと解説を見る(ここを開く)

正解:A

解説

  • A:ファイルパスを操作して想定外のファイルへ到達する点が本質です。
  • B:パスワード管理の説明としても不適切です。
  • C:C&Cサーバの説明に近いです。
  • D:フィッシングの説明です。

👉 判断ポイント ディレクトリトラバーサルは「入力されたパスでファイル参照範囲を越える」攻撃で判断する。


まとめ(試験直前用)

  • 「../」などで上位ディレクトリへ移動 → ファイル不正取得
  • DB操作ならSQLインジェクション、ファイル参照なら本攻撃
  • 原因は入力値チェック不足(設計ミス)
  • 認証や権限管理とは別の問題
  • 選択肢では「ファイルパス操作かどうか」で判断する

🔗 関連記事


🏠 情報セキュリティマネジメントトップに戻る