[ホーム] > [サイバー攻撃大辞典 トップ] > [ファイルインクルードの脆弱性(file-include-vulnerability)]


作成日:2020/09/19

ファイルインクルードの脆弱性(file-include-vulnerability)

ファイルインクルードの脆弱性(file-include-vulnerability)の説明


プログラムの中で他のファイルをincludeしている場合、攻撃者が意図的にそのファイル名を修正して不正にファイルを処理させる攻撃。
例えばphpではinclude 文により他のファイルをincludeすることが可能。
URLの引数でincludeするファイル名を指定する場合、意図的に引数を変更して不正にファイルを処理する。


攻撃例


test.phpというファイルがあり、引数にファイルを指定してそのファイル名に拡張子=phpを付加して表示するとする。
http://example.co.jp/test.php?filename=welcome

そこで攻撃者は以下のURLを発行してユーザ名の一覧の取得を試みることが可能となる。
http://example.co.jp/test.php?filename=../../../../../../../../../../passwd%00

%00を付加しているのは、ファイル名をpasswd%00.phpにすることによりphpが無視されpasswd として処理させるため。
要するにディレクトリトラバーサルの応用である。


対策


基本的に対策はディレクトリトラバーサルの対策と同じである。

・クライアントからのパラメータを元にサーバ側のファイルを参照/処理する方式は避ける。
・Webサーバでファイルを開く場合はディレクトリは固定とする。ファイル名はディレクトリ区切り文字(/や\)や|(パイプ) や.(ドット)などが含まれていないことをチェックする。
・ファイルのアクセス権を適切に設定する。
・ファイル名に%など特殊文字を含む場合はエラー処理する。








[ホーム] > [サイバー攻撃大辞典 トップ] > [ファイルインクルードの脆弱性(file-include-vulnerability)]


本サイト内掲載されている情報は、誰もその正当性は保証しません。独自の調査により判明した事項を記載しており、内容に誤りがある可能性があります。
内容により発生したいかなる損害は誰も補償しません。自己責任で参考として閲覧してください。
本サイト内掲載されている情報は、著作権法により保護されています。いかなる場合でも権利者の許可なくコピー、配布することはできません。 このページはリンクフリーです。(このページへの直接リンクも可能です。) Copyright(c) securitychecklist.net 2015 - 2020