Веб и безопасность приложений

Токен CSRF

Определение

Токен CSRF — секретное непредсказуемое значение, уникальное для сеанса: приложение выдаёт его своему интерфейсу и проверяет в каждом запросе, который меняет данные.

Также ищут: CSRF token · anti-CSRF token · synchronizer token · токен намерения запроса

Зачем это знать

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

Доказательная часть

Что подтверждено

  1. Синхронизирующий токен должен быть уникальным для сеанса, секретным и непредсказуемым и проверяться сервером до изменения состояния.

    Граница применимости: Схема токена CSRF с серверным состоянием.

  2. В схеме с синхронизирующим токеном сервер связывает полученное значение с ожидаемым сеансом и проверяет его до изменения состояния. Отсутствие или несовпадение токена приводит к отклонению защищаемой операции.

    Граница применимости: Рекомендация OWASP для выбранной схемы синхронизирующего токена; не предписывает эту схему каждому API.

  3. Правильный токен CSRF подтверждает выполнение предусмотренной проверки контекста запроса, но не даёт право изменять любой объект. Сервер отдельно проверяет полномочия пользователя на выбранную операцию и объект.

    Граница применимости: Разделение защиты от CSRF и авторизации приложения; токен также не доказывает осознанное действие человека.

  4. Код, внедрённый в доверенный источник через XSS, может получить доступ к токену, доступному интерфейсу, и отправить запрос через браузер пользователя. Поэтому наличие токена не устраняет уязвимость XSS.

    Граница применимости: Случай токена, доступного доверенному интерфейсу страницы; конкретные полномочия зависят от внедрённого контекста.

Граница терминов

Не путать

Токен CSRF Атрибут cookie SameSite

SameSite ограничивает автоматическую отправку в некоторых контекстах, а токен выбранной схемы проверяет сервер. Разные границы требуют согласованного применения.

Токен CSRF Межсайтовый скриптинг (XSS)

Проверка токена рассчитана на недоверенный внешний источник. Исполнение кода внутри доверенного источника может разрушить это предположение.

Перед спецификацией

Что проверить

  1. Укажите, какие операции защищает выбранная схема токена.
  2. Создавайте секретное непредсказуемое значение.
  3. Связывайте его с предусмотренным сеансом или подписанным контекстом.
  4. Проверяйте значение до изменения состояния.
  5. Не помещайте токен в URL и журналы.
  6. Отдельно проверяйте права на объект.
  7. Проверяйте отсутствие XSS в интерфейсе, который получает токен.
Открытые основания

Первоисточники

  • Стандарт1
  • Документация3
  • Официальная документация
    Cross-Site Request Forgery Prevention Cheat Sheet OWASP Foundation · OWASP Cheat Sheet Series, checked 30 August 2026 · проверено

    Разводит CSRF tokens, SameSite и origin checks и задаёт свойства synchronizer и signed double-submit tokens.

    Утверждения: 01 · 02 · 03 · 04 · 05

  • Первичная спецификация
    Guidelines for API Protection for Cloud-Native Systems National Institute of Standards and Technology · NIST SP 800-228-upd1, includes updates as of 13 March 2026 · проверено

    Задаёт API lifecycle controls для authentication, authorization, rate limits, resource limits, logging и monitoring.

    Утверждения: 04

  • Официальная документация
    Cross Site Scripting Prevention Cheat Sheet OWASP Foundation · OWASP Cheat Sheet Series, checked 30 August 2026 · проверено

    Определяет context-specific output encoding и safe sinks; CSP и WAF рассматривает как дополнительные, а не основные XSS controls.

    Утверждения: 05

  • Официальная документация
    Cookies: HTTP State Management Mechanism (6265bis) Internet Engineering Task Force · Internet-Draft draft-ietf-httpbis-rfc6265bis-22 · проверено

    Рабочий документ HTTP WG, определяющий атрибут SameSite (Strict, Lax, None) и требование Secure для None. Это не RFC: класс основания ниже стандарта намеренно.

Карта знаний

Связанные понятия

Из знания — в навык

Курсы по теме

Подтвердите действие