Проблема с внедрением команды Fortify - PullRequest
0 голосов
/ 30 октября 2019

Я выполняю сканирование для одного проекта c # и сталкиваюсь с одной проблемой в приведенной ниже части кода

            if (this.UserInfo != null && this.Emp != null)
            {
                ProcessStartInfo pInfo = new ProcessStartInfo(this.Emp.ResetURL + HttpUtility.UrlEncode(Token));
                pInfo.CreateNoWindow = false;
                Process.Start(pInfo);
            }

Получение проблемы с уязвимостью внедрения команд в строке

 ProcessStartInfo pInfo = new ProcessStartInfo(this.Emp.ResetURL + HttpUtility.UrlEncode(Token));

Iпровел некоторые исследования и обновил код, как показано ниже

        string fileName = (this.Emp.ResetURL + HttpUtility.UrlEncode(Token));
            if (fileName == null || !Regex.IsMatch(fileName, "^[a-zA-Z]+$"))
            {
                return ;
            }
            ProcessStartInfo pInfo = new ProcessStartInfo(fileName);
            pInfo.CreateNoWindow = false;
            Process.Start(pInfo);

Но проблема все еще сохраняется.

Я ссылался на некоторые ссылки https://rules.sonarsource.com/csharp/tag/injection/RSPEC-2076?search=command;https://dotnet -security-guard.github.io / SG0001.htm

Я пробовал много вещей, похожих на описанные выше, но все еще без изменений. Может кто-нибудь помочь нам решить эту проблему. Заранее спасибо.

...