У меня есть уязвимость, связанная с фиксацией сеанса . Чтобы устранить эту уязвимость, я меняю идентификатор сеанса после входа в систему.Сессия получает значение null в ASP.NET
У меня есть ниже веб-страниц в разных папках Мастер и транзакция.
~/Master/Login.aspx
: После того, как учетные данные проверены, я устанавливаю
Response.Cookies["ASPFIXATION"].Value ="xyz";
Session["ASPFIXATION"] = "xyz"
и перенаправлять ~/Master/Home.aspx
~/Master/Home.aspx
: На этой странице, я проверяю значение сеанса с помощью куки значение в событии загрузки страницы.
string cookie_value = string.Empty;
string session_value = string.Empty;
if (Request.Cookies["ASPFIXATION"] != null)
cookie_value = Request.Cookies["ASPFIXATION"].Value;
if (HttpContext.Current.Session["ASPFIXATION"] != null)
session_value = HttpContext.Current.Session["ASPFIXATION"].ToString();
if (cookie_value != g_SessionFix)
{
if (Request.Cookies["ASP.NET_SessionId"] != null)
{
Response.Cookies["ASP.NET_SessionId"].Value = null;
Response.Cookies["ASP.NET_SessionId"].Expires = DateTime.Now.AddDays(-1);
}
if (Request.Cookies["ASPFIXATION"] != null)
{
Response.Cookies["ASPFIXATION"].Value = null;
Response.Cookies["ASPFIXATION"].Expires = DateTime.Now.AddDays(-1);
}
Response.Redirect("~/Master/Login.aspx", false);
}
Здесь сеанс имеет значение и он валидирован.
~/Transaction/Report.aspx
: Если я перенаправляюсь на эту страницу и должен проверять одну и ту же сессию и логику значений cookie на этой странице. Но здесь значение HttpContext.Current.Session["ASPFIXATION"]
является null
и значение HttpContext.Current.Session.IsNewSession
также true
не могли бы вы предоставить вам код здесь. Вам нужна дополнительная информация. – CrazyDev