Фиксация сессии (session fixation)
Коротко: При фиксации сессии злоумышленник подсовывает жертве известный идентификатор сессии. Если жертва входит с ним, злоумышленник знает теперь уже аутентифицированную сессию.
Подробнее: Изъян — в приложении, которое не обновляет идентификатор сессии при входе.
Подробности
- Порядок: 1. Злоумышленник получает действительную, ещё не вошедшую сессию. 2. Он заставляет жертву использовать этот ID (ссылка с ID, подмена cookie). 3. Жертва входит, ID остаётся прежним. 4. Злоумышленник использует ID.
- Главная защита: После входа, смены прав и выхода всегда выдавать новый идентификатор сессии и аннулировать старый.
- Прочие меры: Никогда не держать ID в URL, cookie с
HttpOnly,SecureиSameSite, короткий срок жизни, хранить сессию действительной на стороне сервера. - Родственное: Перехват сессии (session hijacking) крадёт существующий ID (например, через XSS). Фиксация задаёт его заранее.
- Фреймворки: Хорошие фреймворки обновляют ID при входе автоматически. Самодельные сессии под угрозой.
См. также: CSRF