Как предотвратить захват сеанса, просто скопировав файл cookie с машины на другой?
Большинство веб-приложений используют файлы cookie для управления сеансом для пользователя и позволяют вам войти в систему, даже если браузер был закрыт.
Давайте сделаем вид, что все сделано в книге, чтобы убедиться, что сам файл cookie сохраняется.
- зашифровать содержимое
- установить только http
- установить безопасный
- ssl используется для соединения
- мы проверяем на предмет фальсификации содержимого файла cookie
Можно ли запретить кому-то физическому доступу к машине копировать файл cookie и повторно использовать его на другом компьютере и тем самым украсть сеанс?
Ответы
Ответ 1
Не имеет смысла "защищать" от этого. Если этот вид копирования происходит, то либо:
- Конечный пользователь сделал это специально, потому что они хотели сменить компьютеры. Это, конечно, не то, о чем вы должны заботиться или быть обеспокоены.
- Злоумышленник уже скомпрометировал пользовательский браузер и получил доступ к куки, хранящимся внутри. По определению этот файл cookie является секретом, который доказывает, что идентификатор HTTP-клиента. Если злоумышленник уже имеет к нему доступ, он уже может использовать его в любом количестве способов по своему выбору, что вы не сможете предотвратить или отличить от реального пользователя доступ к серверу на законных основаниях.
Ответ 2
Этот риск связан с использованием файлов cookie для аутентификации сеансов: cookie является токеном-носителем, любой, кто может представить cookie, аутентифицируется.
Вот почему вы видите дополнительные защиты, такие как:
- автоматический выход из системы через определенное время или период бездействия;
- отпечаток устройства;
- требует повторной аутентификации для критических действий (например, для банковского перевода или изменения пароля).