【问题标题】:How can we prevent files that have changed the extension from being uploaded?我们如何防止上传更改了扩展名的文件?
【发布时间】:2021-05-14 21:27:23
【问题描述】:

我有一个允许用户上传文件的程序。

假设用户只被允许上传 psd 文件(或任何其他由 admin 用户指定的文件)。如果用户将文件扩展名从.exe更改为psd,则可以上传。

我们如何防止更改扩展名的文件被上传?

【问题讨论】:

  • 检查 jpeg 标头。

标签: c# asp.net file-upload header-files .net-framework-version


【解决方案1】:

您可以检查 ContentType 标头,但这可能会被有足够知识的人篡改。 就像 MrTux 指出的那样,最好的方法是读取文件头并检查它是否符合您要检查的文件格式。 很容易确定您是否有关于用户当前如何上传文件的信息。如果是您自己的系统,或者用户编写自己的 http post 请求。

【讨论】:

  • 我知道如何检查图像文件的标题,那么我应该如何检查其他文件类型的标题? (如 .docx、.psd、.xlsx 等)
  • 您必须检查每种文件类型格式以了解其签名并在此基础上实施检查。你可以从这里开始asecuritysite.com/forensics/file 但是找到关于文件头的信息并不难,只要google之类的'psd文件头'等等......
猜你喜欢
  • 2020-06-04
  • 1970-01-01
  • 2017-03-12
  • 2022-10-04
  • 1970-01-01
  • 2011-04-04
  • 2011-09-18
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多