【发布时间】:2015-02-10 20:55:25
【问题描述】:
我在下面的几行中遇到了一个强化错误 -
string path = "<hardcodedpath>";
var fileBytes = System.IO.File.ReadAllBytes(path + fileName);
return File(fileBytes, System.Web.MimeMapping.GetMimeMapping(fileName), fileName);
例如:- 路径 = C:\WorkSpace\Project\\Files\
我确保(列入白名单?)参数 fullPath 是单独从预定义文件夹中获取的(此处未粘贴相同的代码),并且没有人能够访问除预定义文件中的文件之外的任何其他文件文件夹。
然而,Fortify 并未将这些问题标记为已解决。 Fortify 如何解决这个问题?还有什么需要注意的吗?
错误信息 - 攻击者可以在 .cs 第 446 行控制 ReadAllBytes() 的文件系统路径参数,这允许他们访问或修改其他受保护的文件。
【问题讨论】:
-
如果您仔细阅读问题,这不是重复的。
-
如果没有看到上下文,很难看出这是如何不是重复的。请至少向我们表明您发布的代码不在控制器操作中,并且
fullPath无法被客户端代码操作。 -
我已经编辑了你的标题。请参阅“Should questions include “tags” in their titles?”,其中的共识是“不,他们不应该”。
-
除非来自 Fortify 的错误信息不同,否则这正是重复。
标签: c# security model-view-controller fortify