0

簡単なメモ帳ファイルを作成し、拡張子を jpeg に変更すると、テキスト ファイルが jpeg ファイルに変換されます。メモ帳ファイルに悪意のあるプログラムが書き込まれている可能性があります。1.このタイプの画像ファイルをどのように行うかを確認したい。2.このタイプの変換されたファイルを見つけるためのトリックはありますか?

.net c#、asp.net、vb.net の使用

4

1 に答える 1

3

ファイル拡張子はその内容とは関係ありません。ファイルの最初の数ビットを前処理して、それが何であるかを確認するだけです。(その後、そこからタイプを判別できる場合は、そのファイルの解析エージェントに進むことができます)。

例えば:

  • 画像ファイルはÿØÿà[NUL][DLE]JFIF、開始ビットとして で始めることができます。
  • PDF は次で始めることができます%PDF-
  • 圧縮ファイルは、圧縮アルゴリズムに応じてPK、またはその他のバリエーションで始まる場合があります。Rar!

私が言える最善のことは、ファイルを介して実行することですSystem.Drawing.Image。それが実際に画像である場合、パーサーはそれを詰まらせません。そうでない場合は、何らかの例外が発生し、それが画像ではないか、不正な形式 (有害) であることがわかります。

余談ですが(私を悩ませていたので)、「単純なメモ帳ファイルを作成し、拡張子をjpegに変更すると、テキストファイルがjpegファイルに変換されることがわかっている」というのは完全に真実ではありません。ファイルを開くためのデフォルトのアプリケーションを指定するだけです。to という名前のテキスト ファイル.jpg.pngまたはまだテキスト ファイルでさえ.xyzありますが、それを開くためにメモ帳 (またはデフォルトのもの) を使用しなくなっただけです。

于 2013-07-24T13:56:03.527 に答える