Блок-схема CSRF в AJAX & amp; Переполнение стека

Я скомпилировал блок-схему, чтобы помочь мне понять, как защитить от CSRF в моем приложении AJAX. В прошлом я успешно использовал предотвращение CSRF на более стандартных веб-формах, но это первый раз, когда он действительно необходим для работы в AJAX.

Я предполагаю, что мне хотелось бы получить какие-либо отзывы о том, работает ли логика или нет, потому что это будет приложение с высоким уровнем безопасности, которое должно быть отключено по истечении не более 30 секунд, и токен должен быть разным для каждого отдельного запроса, а не для вся сессия

схема

1

Решение

Это нормально, если ваше значение токена генерируется CSPRNG со 128 битами энтропии. Нет необходимости хэшировать значение на стороне клиента, хотя вы могли бы хэшировать его, используя SHA-2 для хранения на стороне сервера, чтобы не допустить компрометации существующих пользовательских сеансов.

Также я предполагаю, что ваш токен CSRF отличается от токена аутентификации — рекомендуется, чтобы он был отдельным, так как вы не хотите манипулировать и обязательно передавать токен аутентификации.

Для дальнейшего повышения безопасности вы можете проверить и установить пользовательский заголовок AJAX, например: X-Requested-With потому что это не может быть передано кросс-доменом браузера без включенного CORS.

Вы также можете включить свой безопасный токен в этот заголовок. Смотрите этот ответ для деталей.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]