Атака обхода каталога в C# для Path.Combine

У меня есть служба отдыха, которая является входными данными в качестве параметров. Кроме того, есть метод Path.Combine, который используется для генерации пути. Но в veracode он перехватывает метод 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 ответов

Другие вопросы по тегам