Mastodon Mastodon Mastodon Mastodon

CSRF

Оновлено: · CyberSecureFox Editorial Team

CSRF (міжсайтова підробка запиту) — атака, яка змушує браузер авторизованого користувача непомітно надіслати на сайт небажаний запит, що виконується з правами цього користувача.

Як працює CSRF

Браузер автоматично додає cookie до запитів на сайт незалежно від того, яка сторінка їх ініціювала. Припустімо, ви увійшли в інтернет-банк чи панель керування роутером і відкрили шкідливу сторінку. На ній може бути прихована форма чи зображення, що надсилає на інший сайт запит «змінити e-mail», «переказати гроші» чи «змінити DNS-сервер». Браузер додасть cookie вашої сесії, і якщо сайт не перевіряє, звідки надійшов запит, він виконає дію так, ніби ви самі натиснули кнопку.

Слабкість описано як CWE-352. На відміну від міжсайтового скриптингу, зловмисник не може прочитати відповідь — його мета в тому, щоб спричинити змінювальну дію. Експлойт-кіти використовували CSRF проти домашніх роутерів, непомітно змінюючи їхні налаштування DNS і перенаправляючи користувачів на фішингові сайти.

Чому це важливо

За допомогою CSRF можна змінити e-mail і пароль акаунта (і захопити його), створити адміністратора в CMS, змінити налаштування пристрою чи здійснити покупку. У поєднанні з іншими помилками CSRF стає кроком до перехоплення сесії чи виконання коду. Часті жертви — адмінпанелі роутерів, NAS і плагінів WordPress.

Як запобігти

  • Використовувати анти-CSRF-токени — випадкове значення, прив’язане до сесії, яке має супроводжувати кожен змінювальний запит.
  • Встановлювати cookie сесії з атрибутом SameSite (Lax або Strict); основні браузери вже використовують Lax за замовчуванням.
  • Перевіряти заголовки Origin або Referer для чутливих запитів.
  • Вимагати повторного введення пароля для критичних дій і не змінювати стан через GET-запити.

Як SQL-ін’єкція та SSRF, CSRF — класична помилка вебзастосунків, від якої значною мірою захищають налаштування фреймворків за замовчуванням, якщо розробники їх не вимикають.

Синоніми:
міжсайтова підробка запиту, міжсайтова підробка запитів, cross-site request forgery, XSRF