检查文件的原始内容是否不是脚本或exe内容

时间:2019-03-17 10:59:25

标签: c# asp.net-mvc api

我正在使用.net mvc C#API进行文件上传和下载Web App,并且我已阅读此answer来考虑一些文件安全点,并且我有两个问题:

  1. 根据文件类型要点,尤其是此声明

      

    最好是应用程序使用一些实际内容发现来查找   确定上传的文件是否实际上是允许的文件类型。

    我想检查用户是否上传了.exe,.dll或“包含js代码的html”
    文件作为重命名的文本文件,但我不知道该怎么做。

  2. 根据内容嗅探点,我已经添加了

      

    X-Content-Type-Options:nosniff

    向我的api web.config文件发送此Answer 但是当我上传包含Java脚本代码的html页面时,它会不中断地上传和下载,因此如何防止我的应用上传和下载这类文件。

1 个答案:

答案 0 :(得分:0)

这里有很多想法(理论和实践):

https://security.stackexchange.com/questions/160129/c-malicious-file-upload-to-server https://www.computerweekly.com/answer/File-upload-security-best-practices-Block-a-malicious-file-upload

我个人建议将允许上传的扩展名列入白名单,而不是将潜在危险的扩展名列入黑名单。