繁体   English   中英

强化-路径操纵

[英]Fortify - Path Manipulation

我在以下几行中遇到了一个设防错误:

  string path = "<hardcodedpath>"; 
  var fileBytes = System.IO.File.ReadAllBytes(path + fileName);
  return File(fileBytes, System.Web.MimeMapping.GetMimeMapping(fileName), fileName);

例如:-path = C:\\ WorkSpace \\ Project \\\\ Files \\

我确保(列入白名单?)参数fullPath是单独从预定义文件夹中提取的(此处未粘贴相同代码),除预定义文件夹中的文件外,其他任何人都无法访问。

但是,Fortify并未将这些问题标记为已解决。 我如何通过Fortify解决此问题? 还有什么需要照顾的吗?

错误消息-攻击者可以在.cs第446行控制ReadAllBytes()的文件系统路径参数,从而使他们可以访问或修改受保护的文件。

由于声誉规则很愚蠢,我无法发表评论,因此我将其回答。 您已经显示了“路径”的来源,但没有提到“文件名”的来源。 如果该变量的值来自不受信任的来源,那么这就是此问题的原因。 您需要将该变量列入白名单,以便攻击者可以更改路径。 一旦知道您的白名单是好的,就可以解决此问题。 仅凭白名单并不能阻止Fortify再发现问题,因为它无法告诉您何时白名单就足够了。

您也可以尝试在https://protect724.hp.com上将Fortify问题发布到他们的在线论坛。 支持小组将监视这些论坛。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM