Неправильная нейтрализация последовательностей CRLF в заголовках HTTP (CWE ID 113)

Кто-нибудь знает, как исправить эту проблему с веракодом (CWE 113)

Я уже пробовал по ссылке ниже, но она не работает.

Исправление для CWE-113: Неправильная нейтрализация последовательностей CRLF в заголовках HTTP («Разделение ответа HTTP»)

Ниже приведена функция, в которой у меня возникла проблема.

protected void Page_Load(object sender, EventArgs e)
        {
            _presenter = new VwCSVPresenter(this);
            this._presenter.OnViewLoaded();

            Response.ContentType = CONTENT_TYPE;
            Response.Clear();
            if (!string.IsNullOrEmpty(this.FileName))
            {
                // name the local file the user will download
                var localFileName = Request.QueryString[QS_MODULE];
                //test1: var localFileName = Regex.Replace(Request.QueryString[QS_MODULE], @"\n|\r|%0d|%0D|%0a|%0A", string.Empty);
                //test2: tried the same with string Replace eg: 
                //var localFileName = Request.QueryString[QS_MODULE].Replace("\r", string.Empty)
                                //.Replace("%0d", string.Empty)
                                //.Replace("%0D", string.Empty)
                                //.Replace("\n", string.Empty)
                                //.Replace("%0a", string.Empty)
                                //.Replace("%0A", string.Empty);

                if (!string.IsNullOrEmpty(localFileName))
                    localFileName += CSV_EXTENSION;

                Response.AppendHeader(HTTP_HEADER_CONTENT_NAME, string.Format(HTTP_HEADER_CONTENT_VALUE, localFileName));
                Response.TransmitFile(this.FileName);
            }
            Response.End();
        }

person Keppy    schedule 08.08.2017    source источник


Ответы (1)


Я исправил свою проблему, добавив Server.UrlEncode() для localFieName, и Varacode устранил ошибки.

Response.AppendHeader(HTTP_HEADER_CONTENT_NAME, string.Format(HTTP_HEADER_CONTENT_VALUE, Server.UrlEncode(localFileName)));
person Keppy    schedule 09.08.2017