我们知道,如果我们创建一个简单的记事本文件并将扩展名更改为 jpeg,它会将文本文件转换为 jpeg 文件。记事本文件中可能存在一些恶意程序。1.我想检查这种类型的图像文件我将如何做。2.有什么技巧可以让我找到这种类型的转换文件
使用 .net c#,asp.net,vb.net
我们知道,如果我们创建一个简单的记事本文件并将扩展名更改为 jpeg,它会将文本文件转换为 jpeg 文件。记事本文件中可能存在一些恶意程序。1.我想检查这种类型的图像文件我将如何做。2.有什么技巧可以让我找到这种类型的转换文件
使用 .net c#,asp.net,vb.net
文件扩展名与其内容无关,它只是预处理文件的前几位以查看它是什么的问题。(然后,如果您可以从中确定类型,则可以继续使用该文件的解析代理)。
例如:
ÿØÿà[NUL][DLE]JFIF
作为它们的起始位开始。%PDF-
PK
,Rar!
或根据压缩算法的其他变体。我能说的最好的事情是尝试通过System.Drawing.Image
. 如果它实际上是图像,则解析器不会阻塞它。如果不是,您会得到某种异常,并且您知道它不是图像,或者是格式错误(有害)。
顺便说一句(因为这有点困扰我)说“我们知道,如果我们创建一个简单的记事本文件并将扩展名更改为 jpeg,它会将文本文件转换为 jpeg 文件”并不完全正确。您所做的只是指定打开文件的默认应用程序。一个名为 的文本文件.jpg
,.png
甚至.xyz
仍然是一个文本文件,只是不再使用记事本(或您的默认值)打开它。