安全违规 - 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 服务器可以读取的任何文件并让访问者下载它.这很容易导致其他攻击,具体取决于某人下载的内容和您的网络设置。
您需要做的是更谨慎地处理附件,而不是笼统地处理附件——例如,这可能只是将文件名作为参数并在给定的文件夹中查找。
我正在使用 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 服务器可以读取的任何文件并让访问者下载它.这很容易导致其他攻击,具体取决于某人下载的内容和您的网络设置。
您需要做的是更谨慎地处理附件,而不是笼统地处理附件——例如,这可能只是将文件名作为参数并在给定的文件夹中查找。