Битлента
Словарь терминов3 мин чтения·

Session hijacking: как крадут сессии и почему пароль тут не нужен

Что такое перехват сессии, какими способами получают идентификатор или токен, чем это опасно и как выходить из аккаунтов и защищать вход.

Билет вместо паспорта

После входа на сайт сервер не просит пароль при каждом клике. Он выдаёт браузеру идентификатор сессии или токен, который хранится в cookie, и по нему узнаёт вас при следующих запросах. Это можно сравнить с билетом на мероприятие: паспорт показали один раз, дальше проверяют билет.

Перехват сессии, session hijacking, это кража такого билета. Владелец токена признаётся сервером как вошедший пользователь, поэтому пароль ему не нужен, а иногда не помогает и второй фактор, ведь тот уже был пройден при создании сессии. Что такое сессии и токены в общем виде рассказано на отдельной странице, здесь разбираем именно способы кражи.

Как токен попадает к злоумышленнику

Первый путь это перехват в сети. Если соединение не шифруется или шифруется плохо, cookie можно прочитать по дороге, что раньше было массовой проблемой открытых сетей Wi-Fi. Современное шифрование сайтов и флаг Secure у cookie значительно сократили этот риск.

Второй путь это XSS: вредоносный скрипт на странице читает cookie и отправляет их наружу. От этого защищает флаг HttpOnly, запрещающий скриптам доступ к cookie. Третий путь это заражение устройства: программы-стилеры вытаскивают сохранённые cookie и токены из профиля браузера. Четвёртый это фиксация сессии, когда атакующий заранее подсовывает жертве известный ему идентификатор, а после входа использует его сам.

Почему второй фактор не всегда спасает

Многофакторная проверка выполняется при входе. Дальше сервер доверяет сессии, и если украденный токен ещё действителен, злоумышленник просто пользуется им, воспроизводя запросы. Поэтому вредоносные программы, забирающие cookie, столь ценны для тех, кто торгует доступами: они дают уже подтверждённую сессию.

Защитой служит ограничение срока жизни и привязка токена к контексту: устройству, свойствам браузера, иногда адресу. Сервис может завершить сессию при подозрительных изменениях и потребовать повторный вход. Для действий с повышенным риском, вроде смены пароля или платежа, сайты часто запрашивают подтверждение заново.

🛡️ Остались проблемы с соединением?
Можно пользоваться постоянно: российские приложения работают, включать и выключать ничего не нужно. Без карты и регистрации, настройка за пару минут.
Попробовать бесплатно

Меры для пользователя

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

Держите систему и браузер обновлёнными, устанавливайте расширения только из надёжных источников: вредоносное расширение способно читать страницы и данные. Скачивайте программы из проверенных мест, потому что стилеры чаще всего приходят вместе с поддельными установщиками.

Меры для тех, кто делает сайты

Разработчики защищают сессию набором приёмов. Cookie выставляют с флагами Secure, HttpOnly и атрибутом SameSite. Идентификатор при входе создают заново, чтобы исключить фиксацию. Сессии сокращают по времени, привязывают к признакам клиента, на сервере хранят возможность отозвать досрочно.

Весь трафик должен идти по HTTPS, а заголовок HSTS запрещает возвращаться к незащищённому соединению. Кроме того, чувствительные операции защищают повторной проверкой, а не одним лишь предъявлением токена.

Как это выглядит в журналах и уведомлениях

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

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

Не забывайте и про мобильные приложения: они тоже хранят токены сессий, и если телефон потерян, стоит завершить активные входы удалённо через веб-версию сервиса. Это отзывает выданные токены, даже если устройство окажется у другого человека.

🛡️ Остались проблемы с соединением?
Можно пользоваться постоянно: российские приложения работают, включать и выключать ничего не нужно. Без карты и регистрации, настройка за пару минут.
Попробовать бесплатно
сессииcookieкибербезопасностьаутентификация

Часто задаваемые вопросы

Читайте также