Веб и безопасность приложений

Фиксация сессии

Определение

Фиксация сессии — атака, при которой пользователь входит в систему с идентификатором сессии, уже известным злоумышленнику.

Также ищут: Session fixation · fixed session ID · pre-auth session reuse

Зачем это знать

Если идентификатор не меняется при повышении прав, знание гостевой сессии превращается в захват сессии вошедшего пользователя.

Связи из словаря

Карта понятия

Фиксация сессии
Доказательная часть

Что подтверждено

  1. При фиксации злоумышленник не угадывает новый идентификатор, а добивается использования заранее известного ID до и после входа жертвы.

    Граница применимости: Модель атаки с фиксацией сессии.

  2. Приложение должно создавать новый идентификатор сессии после входа и любого повышения прав, а предыдущий — уничтожать.

    Граница применимости: Обновление идентификатора сессии.

  3. В строгой модели управления сеансами приложение принимает только идентификаторы, которые само выдало. Произвольное значение из запроса не становится действующим сеансом лишь потому, что похоже по формату.

    Граница применимости: Рекомендация OWASP для модели с серверным состоянием и строгим приёмом идентификаторов.

  4. Защищённое TLS-соединение не меняет идентификатор сеанса приложения автоматически. Если известный заранее идентификатор пережил вход с повышением прав, шифрование транспорта само не устранило фиксацию.

    Граница применимости: Разделение защиты канала и смены идентификатора при переходе к аутентифицированному состоянию.

  5. При смене идентификатора на входе проверяют не только получение нового значения, но и прекращение действия прежнего. Выдача нового идентификатора без уничтожения старого оставляет незакрытым прежний путь к сеансу.

    Граница применимости: Рекомендация OWASP по обновлению идентификатора после изменения уровня прав; область проверки задаёт модель сеанса приложения.

Граница терминов

Не путать

Фиксация сессии Cookie сессии

Cookie переносит идентификатор; смена его значения требует согласованного изменения серверного сеанса.

Фиксация сессии Завершение TLS

TLS защищает сетевой участок, а предотвращение фиксации меняет состояние приложения на входе и при повышении прав.

Перед спецификацией

Что проверить

  1. Принимайте только выданные приложением идентификаторы.
  2. Заменяйте идентификатор после входа и повышения прав.
  3. Уничтожайте предыдущее значение на сервере.
  4. Не считайте новый TLS-сеанс сменой сеанса приложения.
  5. Проверьте запрос со старой cookie после входа.
  6. Проверьте переход из обычной роли в привилегированную.
  7. Проверьте, что журнал проверки не раскрывает сами идентификаторы.
Открытые основания

Первоисточники

  • Стандарт2
  • Документация2
  • Официальная документация
    Session Management Cheat Sheet OWASP Foundation · OWASP Cheat Sheet Series, checked 30 August 2026 · проверено

    Описывает entropy, cookie transport, renewal после privilege change, timeouts, logout и server-side invalidation sessions.

    Утверждения: 01 · 02 · 05

  • Официальная документация
    Session Management Cheat Sheet OWASP Foundation · OWASP Session Management Cheat Sheet, 2026-09-12 capture · проверено

    Описывает entropy, cookie transport, renewal после privilege change, timeouts, logout и server-side invalidation sessions.

    Утверждения: 03 · 04

  • Первичная спецификация
    RFC 8446: The Transport Layer Security Protocol Version 1.3 Internet Engineering Task Force · RFC 8446, August 2018 · проверено

    Определяет TLS 1.3, включая encrypted channel, PSK authentication, PSK identity и PSK+(EC)DHE modes.

    Утверждения: 04

  • Первичная спецификация
    Cookies: HTTP State Management Mechanism Internet Engineering Task Force · RFC 6265, April 2011 · проверено

    Базовый стандарт Cookie и Set-Cookie: синтаксис, атрибуты Secure, HttpOnly, Path, Domain. SameSite в нём НЕТ — он появился в 6265bis, см. ietf-6265bis-cookies.

Карта знаний

Связанные понятия

Из знания — в навык

Курсы по теме

Подтвердите действие