Проблема межсайтового скриптинга HP Fortify в файле BinaryWrite - PullRequest
0 голосов
/ 02 апреля 2019

У меня нижеприведенный код при сканировании с помощью HP Fortify показал проблему XSS в следующей строке: Response.BinaryWrite (buffer);

Что я могу сделать, чтобы исправить проблему XSS, указанную в Fortify?

    void ShowPDF(string infilepath)
    {
        WebClient client = new WebClient();
        Byte[] buffer = client.DownloadData(infilepath);

        Response.ContentType = "application/pdf";
        Response.AddHeader("content-length", buffer.Length.ToString());
        Response.AddHeader("content-disposition","attachment; filename=hearingprep.pdf");
        Response.BinaryWrite(buffer);

    }

Любая помощь будет высоко оценена.

Ответы [ 2 ]

0 голосов
/ 03 апреля 2019

Возникла проблема как ложно-положительная, с обеспечением местоположения входящих файлов в качестве надежного расположения.

0 голосов
/ 02 апреля 2019

Fortify сказал, что вы помещаете ненадежный контент в браузер.

Когда вы делаете BinaryWrite(buffer).Правило, вызванное Fortify, вероятно, потому что вы используете buffer, исходящий из DownloadData (который поступает из ненадежного источника).

  1. Итак, во-первых, попробуйте добавить в свой код функцию очистки.на строку infilepath и посмотрим, что случилось.
  2. После этого, если вы можете добавить дезинфекцию к Byte[] buffer, это должно окончательно решить пятно вульнов с помощью Fortify.

Если вы не можете выполнить 2., вы должны быть готовы к тому, чтобы действительно иметь XSS.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...