ローカルファイルインクルードについて説明していきます。
■概要
一般的なWebアプリケーションでは、ローカルのファイルシステム上のファイルをインクルード(組み込み)する場合があります。
この際、攻撃者が制御可能なパラメータ(通常はURLのクエリパラメータやフォームの入力値)を利用して任意のファイルを読み込むことで、セキュリティ上の問題が発生する可能性があります。
■想定される被害
ローカルファイルインクルードによって、以下のような被害にあう可能性があります。
どのような被害を受ける可能性があるかあらかじめ把握しておき、攻撃を受けないように対策を検討することが必要です。
・システム上のファイルを読み取り・書き込み
・Webサーバ上で実行されている他のアプリケーションやシステムファイルの操作
■対策
ローカルファイルインクルードの対策として挙げられるものは以下のようなものとなります。
・入力値の検証と適切なエスケープ処理を行う。
・インクルードするファイルのリストを明示的に指定し、それ以外の外部リソースの参照を禁止する。
・不必要なファイルの読み取り権限を持たせない。