My Photo

« ディレクトリ・トラバーサル脆弱性 | Main | OSコマンド・インジェクション »

February 08, 2014

意図しないファイル公開

発生箇所 Webサイト全体
影響を受けるページ 公開されたファイルのみ
影響の種類 重要情報の漏洩
利用者の関与の度合い 不要

概要

外部から閲覧されると困るファイルをWebサーバの公開ディレクトリに配置していると、ファイルのURLがわかれば外部から閲覧が可能となる。
これによって重要情報の漏洩が発生する。

脆弱性の原因

原因は非公開のファイルを公開ディレクトリに置くことである。
公開ディレクトリに置いたファイルが外部から閲覧できる条件は以下である。

  • ファイルが公開ディレクトリに置かれている。
  • ファイルに対するURLを知る手段がある。
  • ファイルに対するアクセス制限が掛かっていない。

ファイルに対するURLを知る手段にはいかがある。

  • ディレクトリ・リスティングが有効である。
  • ファイル名が日付やユーザ名、連番など類推可能である。
  • user.dat、data.txtなどありがちな名前である。
  • エラーメッセージや他の脆弱性によりファイル名がわかる。
  • 外部サイトからリンクされるなどして検索エンジンに登録される。

URLでディレクトリ名を指定した場合にファイル一覧を表示する機能をファイル・リスティングと呼ぶ。

ファイルへのアクセス制限のみで対処するのは危険である。うっかりミスやサーバ移転の際の設定変更などアクセス制限が外れてしまう懸念がある。

対策

非公開ファイルを効果ディレクトリに置かないことである。そのためには以下が推奨される。

  • アプリケーションの設計時にファイルの安全な格納場所を決める。
  • レンタルサーバを契約する場合に非公開ディレクトリが利用できることを確認する。

また保険的にディレクト・リスティングを無効にする。Apacheの場合は httpd.conf で以下のように設定する。

<Directory パス指定>
  Options -Indexes その他オプション
  その他設定
</Directory>

レンタルサーバなどで httpd.conf の設定が変更できない場合は、.htaccess で以下のように設定する。

Options -Indexes

公開ディレクトリに非公開ファイルを置かざるを得ない場合(既存のサイトでファイルの移動が難しい場合など)、.htaccess に記述してファイルの外部からの閲覧を禁止する設定をして暫定的に対処することができる。

<Files "*.txt">
  deny from all
</Files>

参考文献:体系的に学ぶWebアプリケーションの作り方 4.10.2 意図しないファイル公開

体系的に学ぶ 安全なWebアプリケーションの作り方 脆弱性が生まれる原理と対策の実践体系的に学ぶ 安全なWebアプリケーションの作り方 脆弱性が生まれる原理と対策の実践
徳丸 浩

ソフトバンククリエイティブ 2011-03-03
売り上げランキング : 4070

Amazonで詳しく見る
by G-Tools

« ディレクトリ・トラバーサル脆弱性 | Main | OSコマンド・インジェクション »

セキュリティ」カテゴリの記事

Comments

Post a comment

(Not displayed with comment.)

TrackBack

TrackBack URL for this entry:
http://app.cocolog-nifty.com/t/trackback/26461/59094113

Listed below are links to weblogs that reference 意図しないファイル公開:

« ディレクトリ・トラバーサル脆弱性 | Main | OSコマンド・インジェクション »

April 2017
Sun Mon Tue Wed Thu Fri Sat
            1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30            
無料ブログはココログ

日本blog村

  • にほんブログ村 IT技術ブログへ
  • にほんブログ村 アニメブログへ
  • にほんブログ村 サッカーブログ アルビレックス新潟へ

好きな音楽家

メモ

XI-Prof