安全违规 - Fortify、MVC

Security violation - Fortify, MVC

我正在使用 HP Fortify 来解决我的应用程序中的安全问题。 我有一段代码如下,Fortify 抛出一个错误。

Fortify 结果显示:

The method DownloadAttachment() in fileName.cs includes unvalidated data in an HTTP response header on line lineNo. This enables attacks such as cache-poisoning, cross-site scripting, cross-user defacement, page hijacking, cookie manipulation or open redirect.

代码 -

    public ActionResult DownloadAttachment(string fullFilePath)
    {
        var bytes = System.IO.File.ReadAllBytes(fullFilePath);
        return File(bytes, MimeMapping.GetMimeMapping(fullFilePath), Path.GetFileName(fullFilePath));
    }

这里的威胁是什么以及如何解决这个问题?有什么建议吗?

HP 是对的,这是一个问题,但不是他们所说的那样 -- 这里的威胁是您有一个操作方法可以加载 Web 服务器可以读取的任何文件并让访问者下载它.这很容易导致其他攻击,具体取决于某人下载的内容和您的网络设置。

您需要做的是更谨慎地处理附件,而不是笼统地处理附件——例如,这可能只是将文件名作为参数并在给定的文件夹中查找。