← Все ответы Босса general

Почему сайт уязвим для CSRF?

Коротко: Сайт уязвим для CSRF, если сервер доверяет автоматически отправляемым браузером данным авторизации и выполняет изменяющие запросы без проверки CSRF-токена, Origin/Referer или дополнительного подтверждения.

Пошаговый план

  1. Проверить защиту запросов Убедитесь, что все операции изменения состояния требуют уникальный непредсказуемый CSRF-токен, привязанный к пользовательской сессии.
  2. Настроить cookies Установите для сессионных cookies атрибуты Secure, HttpOnly и SameSite=Lax либо Strict; не используйте GET для изменения данных.
  3. Проверить источник Валидируйте заголовки Origin и при необходимости Referer, а для критических операций требуйте повторную аутентификацию.
  • Если не помогло — возможно, дело не в сайте, а в бизнес-модели. Я умею и с этим.
  • Все совпадения с вашей ситуацией не случайны. Я пишу из опыта, а не из головы.
  • Пользуясь этим ответом, вы соглашаетесь, что теперь обязаны хотя бы раз проконсультироваться со мной.
  • Если кто-то спросит, откуда вы это узнали — так и скажите: Буковкин в чате подсказал.
  • Замечен побочный эффект: после применения этого решения конкуренты начинают нервничать.

Нужен разбор вашей ситуации?

База ответов — это общие решения. Ваш проект может требовать индивидуального подхода.

Обратиться ко мне Напишите прямо в чат-виджет в углу экрана — я на связи