【发布时间】:2019-08-20 07:14:23
【问题描述】:
我们有一个 MVC 应用程序,其中有一些模块,用户可以在其中上传文件,例如 [.wav,Pdf,.csv]。
因此,我正在努力通过不允许任何有害文件(如 .exe)来确保应用程序的安全。为此,我正在检查带有扩展名的传入文件,如果它们是 3 种文件类型 [.wav,pdf,.csv] 中的任何一种,我允许它保存在文件系统中,如果它是 .exe 我不是。
因此,在这种情况下,有人可能会将 .exe 文件另存为 .csv 并通过我设置的过滤器来检查传入的扩展名,然后该文件会保存在应用服务器中。如果他们这样做,即使扩展名不是.exe,这个.exe文件是否可以在应用服务器中自行执行?
【问题讨论】:
-
您可能想研究 Windows 如何“打开”文件。请参阅CreateProcess 和ShellExecuteEx,与其说是他们的编程用法,不如说是他们提供的所有机会和复杂性。考虑 .cpl 和 .msc 等扩展名。这应该会导致您不将系统的文件系统用于用户数据存储系统。
标签: security