ぷ~ろぐぷ~ろぐ身辺雑記、アニメ・マンガ、Jリーグ(特に新潟)のこととか。概要アップローダの中には利用者がアップロードしたファイルをWebサーバの公開ディレクトリに保存するものがある。スクリプトを表す拡張子が指定できると、アップロードしたファイルをスクリプトとしてWebサーバ上で実行できます。外部から送り込まれたスクリプトが実行されると、OSコマンド・インジェクションと同様の影響があります。例として利用者が画像ファイルをアップロードし、それを公開する機能を考える。下記はアップロードする画面である(抜粋)。form要素のenctype属性の値"multipart/form-data"によりフォームデータの送信方式を指定しており、ファイルのアップロードが可能となる。value="アップロード"></form>下記はファイルを受け取って決まったディレクトリに保存した上で画面に表示するスクリプト(upload.php)である。?></a>をアップロードしました。?>"></body>この機能を使用して画像ファイルをアップロードすれば画像が表示される。攻撃では画像ファイルの変わりにスクリプトをアップロードする。例として以下のPHPスクリプトをアップロードする。/etc/passwd');?></pre>すると、アップロードされたファイルは画像ではないがimg要素の部分にIneternetExplorerの場合、×マークが表示される。アップロードファイルによるサーバ側スクリプト実行による影響は、OSコマンド・インジェクションと同じである。PHPスクリプトが動作するOSアカウントで実行可能な昨日すべて悪用可能である。脆弱性が生まれる条件は、以下の両方に該当することである。アップロードしたファイルを公開ディレクトリに保存する。スクリプトであることを示す拡張子を指定できる。対策アップロードされたファイルを公開ディレクトリに保存しないようにする。その場合、ダウンロードスクリプトを使用する。