web-dev-qa-db-ja.com

画像ファイル内のシェルスクリプトを防止

最近、私のWebサイトの1つがサーバーに画像(Shell.gif)をアップロードしたユーザーによってハッキングされました。

ファイルの拡張子と画像のMIMEタイプをチェックするために、サーバー側の検証を行いました。ただし、gif拡張子を使用してシェルスクリプトを再度アップロードすることはできます。

上記の2つの方法のほかにシェルスクリプトの署名がある場合、プログラムで画像ファイルを検証するより良い方法はありますか?

2
William Calvin

間違いは、ファイルの検証方法ではありません。アップロードされたファイルは実行しないでください。フルストップ。アップロードされたファイルが画像であると想定されている場合、onlyを使用して実行する必要があることは、開かれる画像処理プログラムに存在することです。

ある意味では、ファイルを開くために正しいプログラムを推測してその名前や内容を調べるというデスクトップ全体のパラダイムはひどい考えであり、信頼できないデータを使用するサーバーでは絶対に使用してはなりません。

4
ddyer