2

我看到了这个问题:

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

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

4

4 回答 4

2

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

于 2012-11-20T21:02:03.257 回答
1

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

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

于 2012-11-20T20:54:20.210 回答
1

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

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

鉴于这一现实,您需要假设上传的所有文件都是错误的,从而构建您的应用程序。是的,扫描仍然很好,并且会过滤掉一堆东西。但它永远不会是 100%。是 99.999% 还是 20%?谁知道。真的有关系吗?

假设所有用户提供的内容都不好,我今天会构建任何应用程序。很坏。敌对的坏。因为最终它会是如果你做到了。如果是这样,您将为他们做好准备......而不是所有必须重新构建他们的应用程序的人,因为他们在早期做出了错误的假设。

有了更多关于您确切担忧的数据,我很乐意更具体地评论它们......

于 2012-11-21T03:50:05.240 回答
1

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

于 2016-06-10T11:06:46.203 回答