Проблема с инъекцией CRLF (с использованием куки) - PullRequest
0 голосов
/ 04 июня 2019

Я использовал VeraCode для проверки своего кода, в ходе проверки я обнаружил тип уязвимости CRLF Injection, потому что я использовал несколько файлов cookie. Я пытался решить, с тегом httpOnlyCookies=true в web.config файле или с CookieName.HttpOnly = true в коде C # позади, но он не проходит проверку в VeraCode. У тебя есть идеи?

Это мой код, я объявил cookie в суперклассе UserInfo.cs:

private HttpCookie httpCookie = null;

public UserInfo()
{
    if (this.httpCookie == null)
    {
        this.httpCookie = this.Context.Request.Cookies["ExampleCookie"];
    }

    if (this.httpCookie == null)
    {
        this.httpCookie = new HttpCookie("ExampleCookie");
        this.httpCookie.HttpOnly = true; //I tried with this too
        this.Context.Response.Cookies.Set(this.httpCookie);
    }
}

static public UserInfo GetCurrent
{
    get
    {
        return new UserInfo();
    }
}

public string UserName
{
    set
    {
        this.httpCookie.Values["UserName"] = value.ToString();
        this.Context.Response.SetCookie(this.httpCookie);
    }
    get
    {
        return this.httpCookie["UserName"] == null ? string.Empty : this.httpCookie["UserName"].ToString();
    }
}

web.config:

<system.web>
<httpCookies httpOnlyCookies="true" />
...