Что такое токен синхронизатора?

Шаблон токена синхронизатора — это метод, при котором токен, который является одновременно секретным и уникальным значением для каждого запроса, встраивается веб-приложением во все HTML-формы и проверяется на стороне сервера. Затем токен генерируется сервером с обеспечением уникальности. Здесь сервер генерирует токен для каждого сеанса. В этом случае злоумышленник не может разместить правильный токен в своих запросах для их аутентификации.

Почему мы используем STP?

Сторонний злоумышленник не может выполнить атаку CSRF, поскольку междоменные вызовы AJAX невозможны.

Демонстрация работы STP

Чтобы получить исходный код этого приложения, нажмите здесь

Сначала мы можем начать с запуска приложения как локального хоста и входа в систему, используя данные учетные данные.

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

После того, как мы прошли аутентификацию и перенаправляемся на страницу result.php. Затем мы видим, что значение для «csrf_token» установлено.

А затем, когда мы что-то пишем и нажимаем кнопку «Обновить», токен из введенного текста сравнивается с токеном CSRF, хранящимся в браузере. Наряду с этим файл cookie сеанса проверяется с помощью сохраненного идентификатора сеанса.

И если обе эти проверки будут подтверждены, появится предупреждение о том, что токен действителен. Если не указано, что токен недействителен.

Вот как работает шаблон токена Synchronizer :)

.

.

.

Ссылки

  1. Ace 2019, Synchronizer token pattern, Cybray, просмотрено 13 октября 2019 г., ‹https://www.cybrary.it/0p3n/synchronizer-token-pattern/
  2. Исходный код :
""" Title: SynchronizerTokenPattern
Author: Dimuthu Yasas
Date: 2018
Availability:https://github.com/dimuthuYasasViduranga/SynchronizerTokenPattern.git """