Воспроизведение сессии против фиксации сессии против перехвата сессии

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

заранее спасибо

1 ответ

И фиксация, и угон имеют в конечном итоге одну и ту же цель - получить доступ к сеансу. Они отличаются только тем, как вы этого достигнете.

Перехват сеанса - это просто кража существующего, действительного файла cookie сеанса. Чаще всего это происходит через анализ сетевого трафика (атака MITM), а также через любые другие способы утечки идентификатора сеанса.

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

Повтор немного отличается и может означать две вещи...

Если злоумышленник уже имеет доступ к куки-файлу сеанса (с помощью фиксации или угона), то это всего лишь повторное использование куки-файла для того, что он хочет.
В противном случае, это может означать, что жертва обманом может повторно отправить ранее действительный запрос (с тем же сеансовым cookie). Например, пользователь может быть обманут в покупке нескольких количеств товара, для которого ему нужна только одна единица.

Примечание: я везде использовал "cookie сессии", чтобы упростить объяснения, но, конечно, есть и другие способы передачи идентификаторов сессии.

Как защитить себя от этих атак:

  • Используйте TLS (HTTPS) для предотвращения MITM-атак и, таким образом, наиболее распространенных способов угона. Также установите Secure помечать cookie-файлы, чтобы они не передавались по текстовому соединению (т. е. браузеры будут отправлять только при использовании https:// схема).
  • Установить HTTPOnly пометьте cookie, чтобы, например, JavaScript не имел доступа к cookie. Если JS не может получить доступ к cookie-файлам, это также означает, что он не может их утратить (не может быть взломан), но есть много других способов использовать код на стороне клиента.
  • Регенерация идентификаторов сеанса для каждого действия по изменению привилегий, которое выполняет пользователь (вход в систему, выход из системы, вход в систему как администратор - если есть дополнительная форма для этого), а также через регулярные короткие промежутки времени. Это служит механизмом противодействия всем трем атакам.
  • Попросите ваше приложение отклонить сеансовые куки, которые не соответствуют записи на стороне сервера, чтобы предотвратить фиксацию.
Другие вопросы по тегам