2017-02-18 15 views
0

私のウェブサイトにアップロードフォームがあります。私は実際には実際にファイルの種類を含めたり除外したりしていません。代わりに、私はこれを使用していウェブサイトのアップロードによるハッキング防止

:ファイルの種類を保つが、790cd5a974bf570ff6a303c3dc5be90fのようにいくつかのランダム不可解にファイル名を変更します

$fileUploadName = $target_dir.md5(uniqid($target_file.rand(),true)).".".$imageFileType; 

このようにして、ハッカーはhack.phpファイルをアップロードすることはできず、www.example.com/uploaded_files/hack.phpでファイルを開くことはできません。 790cd5a974bf570ff6a303c3dc5be90f.php。私の見解では、これは完全に安全です。この方法で安全だと私は正しいですか?

自己実行ファイルのみが問題になると思います。自己実行ファイルも存在しますか?

+0

を取得するには、とにかくLink to someones isimage functionhttp://php.net/manual/en/function.uniqid.phphttp://php.net/manual/en/function.rand.php

使用file_get_contents画像であることを確認します's_principle) "攻撃者(暗号鍵)以外のシステムに関するすべての情報を知っている場合、攻撃者はファイル名のMD5チェックサムを使用していることを知り、アップロードされたファイル名を推測することができます。 –

+0

アップロードされたファイルの実行を許可する理由は何ですか? – miken32

+0

@ miken32あなたが何を意味するのか分かりません。もちろん、私はハッカーがファイルをアップロードしてからexcuteすることを避けたい。これを避けるため、私はmd5(uniqid($ filename))でわかりにくい何かの中で実際のファイル名を変更しています。この方法では、(実際の)ファイル名がわからないので、ハッカーはブラウザ経由でファイルを呼び出すことはできません。もちろん、これは自己実行ファイルであれば動作しません。しかし、そうです。自己実行ファイルも存在しますか? – David

答えて

0

アップロードしたファイルと拡張子のMIMEタイプも確認してください(ただし、アップロード時に簡単に偽装することはできます)。 あなたがイメージだけを期待するならば、あなたもこのようなスクリプトを実行することで、画像の幅と長さのパラメータをチェックすることもできます

$size = getimagesize($target_file); 

を、これは適切な値を返さない場合、それは、画像ファイルません。

Gifarのような危険なグラフィックについても自分自身に知らせることができます。 Webサイトのルートが/etc/web/public/であるか、.htaccessを使用することができれば、アップロードフォルダ内に作成して入れながら/etc/web/uploads/<Random>(../uploads)などが独自のフォルダ内

+0

さて、でも、私はさらにチェックを行う必要がありますか?ユーザーはアップロードしたファイルを呼び出したり開くことはできませんか? – David

+0

できるだけアップロードごとにサニタイズします。画像ファイルが必要な場合は、たとえばgetimagesizeを使用して画像ファイルをチェックします。 アップロードされたファイルに誰かが実際にアクセスできる状況はたくさんあります。 Webサーバーの更新/誤設定により、ディレクトリの参照などが可能になる可能性があります。 誰かが(ウェブから実行できるとすれば)サーバー上のファイルを見つけるために強引な攻撃を試みることができます。 – Cruiser

+0

通常、後でアップロードされたファイルで何かをしたいと思っています。それらをダウンロードし、どこかに表示してください。ファイルやインデックスサービスの単純な最適化スクリプトでも、ファイルがトリガされ、状況によっては実行される可能性があります。 – Cruiser

0

入れアップロードされたファイルDeny from all またuniqidと、暗号生成されませんランドセキュアな値私はまた、アップロードされたファイルは、[Kerckhoffの原理](https://en.wikipedia.org/wiki/Kerckhoffsを適用すると、ユーザーの画像

関連する問題