Атрибут cookie HttpOnly
Определение
Атрибут cookie HttpOnly — пометка, с которой браузер перестаёт отдавать значение cookie программным интерфейсам вне HTTP, в том числе document.cookie. К подходящим HTTP-запросам браузер её по-прежнему прикладывает.
Также ищут: Cookie HttpOnly attribute · HttpOnly cookie · флаг HttpOnly · cookie без document.cookie
Зачем это знать
Он затрудняет кражу идентификатора сессии через XSS, но не останавливает выполнение вредоносного сценария.
Карта понятия
Что подтверждено
HttpOnly исключает cookie из программных интерфейсов вне HTTP, при этом браузер продолжает прикладывать её к подходящим HTTP-запросам.
Граница применимости: Ограничение чтения cookie из сценария страницы.
При XSS HttpOnly может скрыть идентификатор сессии, но внедрённый код всё ещё способен выполнять действия от имени пользователя через его браузер.
Граница применимости: Влияние HttpOnly на последствия XSS.
Что проверить
- Поставьте HttpOnly.
- Не храните секрет сессии в JavaScript.
- Устраните источник и опасное место вставки XSS.
Первоисточники
- Cookies: HTTP State Management Mechanism
Базовый стандарт Cookie и Set-Cookie: синтаксис, атрибуты Secure, HttpOnly, Path, Domain. SameSite в нём НЕТ — он появился в 6265bis, см. ietf-6265bis-cookies.
Утверждения: 01
- Session Management Cheat Sheet
Описывает entropy, cookie transport, renewal после privilege change, timeouts, logout и server-side invalidation sessions.
Утверждения: 02
- Cross Site Scripting Prevention Cheat Sheet
Определяет context-specific output encoding и safe sinks; CSP и WAF рассматривает как дополнительные, а не основные XSS controls.
Утверждения: 02