繁体   English   中英

如何确定上传的文件在ASP.net中不是病毒?

[英]How to be sure about an uploaded file is not a virus in ASP.net?

我看到了这个问题:

ASP.NET文件上传:如何确保上传的文件确实是JPEG?

有关确保通过ASP.net中的asp:FileUpload控件上传文件的类似问题确实是图像。 但是,如果用户上传受病毒感染的图像该怎么办? 如何确保通过ASP.net应用程序上传的图像文件不影响我的Web应用程序文件夹中的文件和/或其他用户上传的图像?

只要您不将其作为映像(内容类型)以外的任何其他形式提供给任何人,并且从不尝试执行(.exe)文件,就可以了。

大多数防病毒软件运行所谓的“按访问扫描”。 也就是说,更改文件后,它将自动扫描该文件。

因此,将该文件保存到文件系统中,然后让服务器的防病毒软件为您完成工作。

我将采取可能颇有争议的立场。

无法100%地确定文件的意图是好是坏。 是不可能的。 AV扫描仪为您提供了一部分数据,但它们也无法为您提供100%的保证。 没有人可以。

在这种情况下,您需要假设所有上传的文件都是错误的,然后构建您的应用程序。 是的,扫描仍然可以,并且可以过滤掉很多东西。 但是永远不会是100%。 是99.999%还是20%? 谁知道。 真的有关系吗?

假设所有用户提供的内容都是错误的,我今天将构建任何应用程序。 很坏。 敌对的不好。 因为最终会成功。 到时,您将为他们做好准备……而不是所有不得不重新设计其应用程序的人,因为他们早就做出了错误的假设。

有了有关您的确切问题的更多数据,我很乐于对它们进行更具体的评论...

附带说明,在IIS (6 or prior versions)旧版本IIS (6 or prior versions)更早IIS (6 or prior versions) ,使用原始文件名保存文件后,可以将FileName更改为真实的恶意文件名。 服务器有可能定期读取和执行
EG将文件名设置为: file.asp;.jpgfile.asp%00.jpg等...
还可以通过操纵文件名来更改目标目录。 这是非常危险的
EG newfolder.asp::$Index_Allocation或其他...
还有一些新的攻击方式。 在这里阅读更多。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM