ディレクトリ内のすべてのファイルが画像ファイルであることを確認するシェルスクリプトを作成したいと思います。
最近、ハッカーがディレクトリにファイルを生成し、それを.jpgファイルとしてマスクできるという問題が発生しました。ディレクトリ内のすべてのファイルをチェックして、それらが実際のjpg、gif、またはpngファイルであることを確認するシェルスクリプトを作成したいと思います。
承認された回答:
file
の使用には細心の注意を払ってください。 あなたがそれに完全に信頼できない入力を与える状況で。たとえば、RHEL5ファイル
これを識別します:
GIF87a
<?php
echo "Hello from PHP!n";
?>
「GIF画像データ、バージョン87a、15370x28735」として。 PHPインタープリターは、その入力の実行に問題はありません。その問題の欠如が「ローカルファイルインクルード」(LFI)問題の基礎です。
次に、 file
(さらには文字列
)実際に入力ファイルを解析して、知りたいことを伝えます。これらのパーサーは複雑で問題があります。
識別コード>を提案します ImageMagickスイートからのコマンド。上記の簡単な例にだまされることはなく、画像ファイルを正しく解析するだけなので、
file
よりもセキュリティ上の欠陥が発生しにくいはずです。 。