Как защититься от перехвата сеанса во Flask

Итак, я разрабатываю веб-приложение Flask, и я хотел проверить его безопасность, так как реализовал следующее:

  • SSL-сертификат с безопасной передачей файлов cookie
  • Токен CSRF во избежание CSRF-атаки
  • Проверка файлов cookie, чтобы избежать модификации файлов cookie
  • Файлы cookie являются httpOnly, чтобы избежать XSS

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

Я тестировал его с помощью Chrome и окна инкогнито (на том же компьютере), и я мог захватить сеанс. Есть ли способ предотвратить это? Насколько я понимаю, Facebook успешно защитил от внедрения файлов cookie, но не уверен в этом.

1
задан 15 July 2019 в 22:22
1 ответ

Вы можете проверить наличие изменений в 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

2
ответ дан 22 January 2020 в 04:08

Теги

Похожие вопросы