Skip to main content

Що таке CSRF?

CSRF (Cross-Site Request Forgery) - це атака, за якої зловмисник змушує браузер користувача виконати дію на сайті без його відома, використовуючи вже авторизовану сесію.

Простіше кажучи: сайт думає, що дію виконує користувач, хоча насправді її спровокував зловмисник.


Як працює CSRF простою мовою

  1. Користувач увійшов на сайт (наприклад, інтернет-банк)
  2. Сесія активна (cookies збережені в браузері)
  3. Користувач переходить на шкідливий сайт
  4. Цей сайт непомітно надсилає запит на довірений сайт
  5. Браузер автоматично прикладає cookies
  6. Сервер виконує дію, думаючи, що це користувач

Ключова проблема: довіра сайту до браузера користувача.


Що може зробити CSRF-атака

  • змінити пароль;
  • змінити email;
  • перевести гроші;
  • змінити налаштування облікового запису;
  • виконати будь-яку дію без підтвердження.

CSRF не краде дані напряму, а змушує виконувати дії.


Приклад CSRF простими словами

Ти:

  • залогінений у банку,
  • відкриваєш інший сайт,
  • а він «натискає кнопку» в банку за тебе.

Чим CSRF відрізняється від XSS

Важливо для співбесіди.

КритерійCSRFXSS
Де виконується кодУ зловмисникаУ браузері жертви
Використовує сесію жертвиТакТак
Впровадження скриптаНіТак
Основна метаВиконати діюВкрасти дані

Які властивості безпеки порушуються

  • Integrity - несанкціоновані зміни даних;
  • іноді Confidentiality - опосередковано.

Як захищаються від CSRF

Основні заходи захисту:

  • CSRF-токени (головне);
  • перевірка Origin / Referer;
  • SameSite cookies;
  • підтвердження критичних дій;
  • повторна автентифікація.

CSRF-токен - ключовий захист.

Коротка відповідь

Для співбесіди
Premium

Коротка відповідь допоможе вам впевнено відповідати на цю тему під час співбесіди.