用于Path.Combine的c#中的目录遍历攻击

时间:2017-10-27 07:37:46

标签: c# veracode path-combine

我有一个Rest服务,它作为参数输入。内部有一个Path.Combine方法,用于生成路径。但是在veracode中,它捕获了Directory Traversal Injection的Path.Combine方法。任何可能的方法来解决问题。

var path = HttpContext.Current.Server.MapPath("~/MainFolder");
var name ="sampleLog";
var filename = String.Format("{0}.txt",name);

var fullpath = Path.Combine(path, filename); // Veracode shows this method as a possible injection

我尝试使用以下方法验证文件名,但它没有作为修复。

private string CleanFileName(string name)
{
   return Path.GetInvalidFileNameChars().Aggregate(name, (current, c) => current.Replace(c.ToString(), string.Empty));
}

任何其他可能的解决方案,以避免此问题解决此问题?

0 个答案:

没有答案