Ку́ки— небольшой фрагмент данных, созданный веб-сервером или веб-страницей и хранимый на компьютере пользователя в виде файла, который веб-клиент (обычно веб-браузер) каждый раз пересылает веб-серверу в HTTP-запросе при попытке открыть страницу соответствующего сайта. Применяется для сохранения данных на стороне пользователя, на практике обычно используется для:
-аутентификации пользователя;
-хранения персональных предпочтений и настроек пользователя;
-отслеживания состояния сессии доступа пользователя;
-ведения статистики о пользователях. Бывают разные виды мошеничества с куками:
Кража куки
Во время нормальной эксплуатации сервер и браузер пользователя постоянно обмениваются куки. Поскольку куки могут содержать конфиденциальную информацию (имя пользователя, условия доступа и т. д.), их содержимое не должно быть доступно другим. Кража куки — это акт несанкционированного перехвата куки посторонними.
Куки могут быть украдены другим компьютером, читающим трафик сети.
Куки могут быть украдены с помощью анализа трафика — это называется взломом сессии. Сетевой трафик может быть перехвачен и прочитан не только его отправителем и получателем (особенно в публичных сетях Wi-Fi). Этот трафик включает в себя и куки, передаваемые через незашифрованные HTTP-сессии. Там, где сетевой трафик не шифруется, злоумышленники могут прочесть сообщения пользователей сети, в том числе их куки, используя программы, называемые сниферами.
Эта проблема может быть решена путём установления между пользователем и сервером шифрованного соединения с использованием протокола HTTPS. Сервер также может использовать специальный флаг при установке куки, после чего браузер будет передавать их только по надёжному каналу, например, через SSL-соединение.
Однако большое число веб-сайтов, даже использующих безопасные HTTPS-сессии для идентификации пользователя, затем отправляют куки и другие данные более простым незашифрованным HTTP-соединением. Злоумышленники могут легко перехватить куки других пользователей и использовать их на соответствующих веб-сайтах.
Межсайтовый скриптинг: куки должны обмениваться лишь между сервером и клиентом, а отправляются третьей стороне.
Для того чтобы гарантировать передачу куки только через HTTPS-сессию, куки должны иметь атрибут Secure.
Другой способ кражи куки — межсайтовый скриптинг и несанкционированная отправка куки на серверы, которые не должны получать их. Современные браузеры могут исполнять фрагменты кода, полученные с сервера. Если куки доступны во время этого исполнения, их содержимое может в той или иной форме оказаться на серверах, которые не должны получать к ним доступ. Шифрование куки не поможет в этом случае.
Следующий вид межсайтового скриптинга, как правило, используют на сайтах, где пользователям разрешено отправлять сообщения с HTML-содержимым. При вставке соответствующего PHP/Javascript -кода в сообщение атакующий может получить куки других пользователей.
Эти атаки можно предотвратить установкой флага HttpOnly, делающей куки недоступными для скриптов со стороны клиента. Тем не менее, веб-разработчики должны предусматривать защиту от межсайтового скриптинга на стадии разработки веб-сайтов.
Подмены куки
Подмена куки: атакующий отправляет серверу подложные куки, возможно изменив легитимные куки, ранее полученные от сервера.
Хотя теоретически куки должны сохраняться и отправляться назад на сервер неизменными, злоумышленник может изменить их содержимое перед отправкой. К примеру, куки могут содержать общую сумму, которую пользователь должен уплатить за свои покупки; изменив это значение, злоумышленник сможет заплатить меньше установленной суммы. Процесс изменения содержимого куки называется подменой куки.
Для защиты от подобных атак большинство веб-сайтов хранят в куки лишь идентификатор сессии — случайно сгенерированное число или набор символов, используемое для определения сессии, в то время как вся другая информация хранится на сервере. В этом случае подмена куки значительно затрудняется.
Если мошеник получит ваши куки, считайте вы распрощаетесь с аккаунтами везде где только можно.