Объяснение

Современные веб-браузеры поддерживают флаг secure для каждого файла cookie. Если флаг установлен, браузер будет отправлять cookie только через HTTPS. Отправка файлов cookie по незашифрованному каналу может подвергнуть их атакам сетевого сниффинга, поэтому безопасный флаг помогает сохранить конфиденциальность значения cookie. Это особенно важно, если файл cookie содержит личные данные или идентификатор сеанса.

В этом случае cookie создается, но setSecure() не вызывается или вызывается со значением false.

Пример. В приведенном ниже примере файл cookie добавлен в ответ без установки свойства Secure.

...
HttpCookie cookie = new HttpCookie("emailCookie", email);
Response.AppendCookie(cookie);
...

Если ваше приложение использует и HTTPS, и HTTP, но не устанавливает флаг secure, файлы cookie, отправленные во время запроса HTTPS, также будут отправлены во время последующих запросов HTTP. Отслеживание сетевого трафика через незашифрованные беспроводные соединения - тривиальная задача для злоумышленников, поэтому отправка файлов cookie (особенно с идентификаторами сеанса) через HTTP может привести к компрометации приложения.

...
{
 if (Request.QueryString[“Cookie”] != null)
 {
 HttpCookie cookie = new HttpCookie(“UserAddedCookie”);
 cookie.Value = Request.QueryString[“Cookie”];
Response.Cookies.Add(cookie);
 }
...

повторно создает cookie без флага secure, установленного в true. Cookie создается без флага secure, установленного в true.

Установите флаг Secure для всех новых файлов cookie, чтобы браузеры не отправляли эти файлы cookie в открытом виде.
Пример:

...
HttpCookie cookie = new HttpCookie("emailCookie", email);
cookie.Secure = true;
Response.AppendCookie(cookie);

Давайте поговорим о файлах cookie сеанса, которые не отправляются через SSL

Современные веб-браузеры поддерживают флаг secure для каждого файла cookie. Если флаг установлен, браузер будет отправлять cookie только через HTTPS. Отправка файлов cookie по незашифрованному каналу может подвергнуть их атакам сетевого сниффинга, поэтому безопасный флаг помогает сохранить конфиденциальность значения cookie. Это особенно важно, если файл cookie содержит личные данные или идентификатор сеанса.

В этом случае для файла cookie сеанса, созданного в Web.config, не установлен флаг безопасности, равный истине.

Пример. В приведенном ниже примере файл cookie сеанса будет добавлен в ответ без установки флага Secure.

...
<configuration>
<system.web>
<authentication mode="Forms">
<forms requireSSL="false" loginUrl="login.aspx">
</forms>
</authentication>
</system.web>
</configuration>
...

Если ваше приложение использует и HTTPS, и HTTP, но не устанавливает флаг secure, файлы cookie, отправленные во время запроса HTTPS, также будут отправлены во время последующих запросов HTTP. Отслеживание сетевого трафика через незашифрованные беспроводные соединения - тривиальная задача для злоумышленников, поэтому отправка файлов cookie (особенно с идентификаторами сеанса) через HTTP может привести к компрометации приложения.

Файл cookie сеанса приложения создается без флага secure, установленного на true.

Установите флаг Secure для всех новых файлов cookie, чтобы браузеры не отправляли эти файлы cookie в открытом виде.
Пример:

...
<configuration>
<system.web>
<authentication mode="Forms">
<forms requireSSL="true" loginUrl="login.aspx">
</forms>
</authentication>
</system.web>
</configuration>
...

Response.Cookies.Add (cookie);
}

Patreon - https://www.patreon.com/mrunal

Подпишитесь на Infosec Write-ups, чтобы увидеть больше таких замечательных статей.