PHPでのFile Inclusion(T.Teradaの日記)
以下の観点でPHPとFile Inclusionについて評価されています。勉強になりますm(_ _)m
- 外部から制御可能なファイル
- ログファイル
- セッションファイル
- ファイルアップロード一時ファイル
いちおう対策についても書いておきます。includeするファイルパスが攻撃者により制御される時点でアウトですので、それを防ぐのが対策の基本です。
- パス値のvalidation
- include(やrequire)に与える値を検証し、不正な値ならエラーとする。極力、外部入力変数をincludeなどに与えない。
- open_basedir関連
- 保険的な対策。open_basedirでインクルードするファイルパスを制限する(関連:allow_url_fopen allow_url_includeなど)。
- register_globals関連
- 1/16の日記を参照