Итак, я разрабатываю веб-приложение Flask, и я хотел проверить его безопасность, поскольку реализовал следующее:
Теперь, в гипотетическом случае, когда одного из моих пользователей обманом заставили раскрыть свои файлы cookie злоумышленнику, и если этот пользователь вводит эти файлы cookie сеанса в свой браузер, это приводит к тому, что веб-приложение допускает, что злонамеренный пользователь разрешает ему войти в сеанс.
Я тестировал его с помощью Chrome и окна инкогнито (на том же компьютере), и я мог захватить сеанс. Есть ли способ предотвратить это? Насколько я понимаю, Facebook успешно защитил от внедрения файлов cookie, но не уверен в этом.
Вы можете проверить наличие изменений в IP-адресе запроса или информации агента пользователя, отправленной в заголовках запроса. Это не решит проблему на 100%, но может помочь в обеспечении более строгой безопасности.
Кроме того, есть еще один очень надежный способ обнаружения перехвата сеанса. Этот метод называется «вращением токенов обновления». В основном он использует два токена (токены доступа и обновления), которые меняются с течением времени, и это изменение позволяет нам обнаруживать кражу токенов. Этот метод также предлагается в RFC IETF: https://tools.ietf.org/html/rfc6749#section-10.4
Если вы хотите узнать, как реализовать этот метод, ознакомьтесь с этим сообщением в блоге: https://supertokens.io/blog/the-best-way-to-securely-manage-user-sessions