Підробка міжсайтового запиту
Ваш сеансовий файл cookie підтримується, навіть якщо ви не робили запит.
Що таке Підробка міжсайтового запиту?
Браузери прикріплюють сеансовий файл cookie сайту до запитів, які надсилаються з будь-якого джерела, і підробка запитів між сайтами існує за умовчанням. Ви створите сторінку купона, прихована форма якої надсилає сама себе та переказує гроші з порталу, на якому жертва ввійшла на іншій вкладці. Потім ви приймаєте попередження про шахрайство, помічаєте заголовок роздачі Origin і виправляєте обробник за допомогою сеансового токена плюс SameSite=Strict . Маркер працює, оскільки зловмисник може надіслати міжсайтовий запит, але ніколи не прочитати відповідь.
Що ви дізнаєтесь у Підробка міжсайтового запиту
- Розпізнавати CSRF як наслідок вкладення файлів cookie за замовчуванням у веб-переглядачі та автентифікації лише за допомогою сеансових файлів cookie на кінцевих точках, що змінюють стан
- Застосовувати сесійну перевірку маркера CSRF до кожного обробника POST/PUT/DELETE, який змінює стан
- Поєднайте перевірку маркера з <code>SameSite=Strict</code> у файлі cookie сеансу, щоб браузер навіть не приєднував файл cookie до міжсайтових запитів, поглиблений захист на рівні вкладення файлів cookie
- Зрозумійте, що політика того самого походження забезпечує роботу маркерів CSRF: зловмисники можуть НАДСИЛАТИ міжсайтові запити, але не можуть ПРОЧИТАТИ відповіді, щоб отримати маркер
- Аудит кожної кінцевої точки, яка змінює стан (надання ролей, оновлення облікового запису, зміна пароля без поточного пароля, збереження налаштувань, виконання передачі) для однієї форми
Підробка міжсайтового запиту — Кроки навчання
-
Звичайний трансфер
Westmark Industrial запускає внутрішній портал закупівель для авторизації платежів постачальникам. Сьогодні вранці Аліса має надіслати один невеликий переказ: $247.50 до Hartwell Logistics для звичайної доставки. За лаштунками портал перевіряє автентичність кожного запиту за допомогою сеансового cookie. Увійдіть і подивіться, як працює звичайний переказ.
-
Увійдіть на портал
Це портал, який Аліса використовує для авторизації платежів постачальникам. Її сеанс залишається активним на цій вкладці решту дня.
-
Авторизуйте передачу
Надішліть $247.50 до Hartwell Logistics. Форма надсилає до кінцевої точки переказу із сумою й одержувачем у тілі запиту. Сеансовий файл cookie Аліси виконується автоматично: це єдине, що доводить, що запит належить їй.
-
Опубліковано в книзі
Передача припадає на останні дії. Файл cookie був дійсним, тіло було добре сформованим, і портал авторизував його. Зверніть увагу, що для цього не було потрібно: жодного секрету в тілі, нічого, що могла б дати лише справжня форма. Лише файл cookie сесії був достатнім доказом.
-
Запит він не може відправити
Боб не може отримати доступ до рахунків Westmark Industrial. Але він знає, що кінцева точка передачі авторизує все, що надсилає браузер співробітника, який увійшов у систему, і він знає, що працівники залишаються в системі цілий день. Він не може надіслати запит сам: він зараховується, лише якщо він надходить із автентифікованого браузера співробітника. Тож він створює сторінку, яка надсилає це для нього. Ця весела сторінка з купонами — це все, що бачать відвідувачі.
-
Під сторінкою кави
Сторінка кави – це приманка. Відкрийте його вихідний код і подивіться, що насправді знаходиться під дружнім заголовком.
-
Всередині пастки
Під дружнім заголовком знаходиться справжнє корисне навантаження. Перейдіть через це: прихована форма, яка надсилає повідомлення на реальну кінцеву точку передачі Westmark Industrial, щойно завантажується сторінка, з номерами Боба, а не відвідувача.
-
Надішліть приманку Алісі
Сторінка озброєна. Тепер Боб загортає його в електронний лист із веселим купоном і надсилає на робочу адресу Аліси, а потім чекає, поки вона відкриє його, поки її сеанс порталу все ще активний.
-
Електронний лист із безкоштовною кавою
Пізніше того ж вечора, у неробочий час, Аліса отримує веселий електронний лист: безкоштовна кава, один клік, щоб отримати. Нічого не запитує пароль. Її вкладка порталу з цього ранку все ще відкрита у фоновому режимі.
-
Подивіться ближче
Ніщо в електронному листі не запитує облікові дані чи завантаження. Це лише посилання на сторінку купона, яку більшість людей переглядає та натискає.
Охоплення стандартів безпеки
OWASP Top 10
- A01:2025 Broken Access Control
- A01:2021 Broken Access Control
CWE
- CWE-352 Cross-Site Request Forgery (CSRF)
- CWE-1275 Sensitive Cookie with Improper SameSite Attribute
CIS Controls
- CIS 16 Application Software Security
NIST CSF
- PR.AT-02 Individuals in specialized roles are provided with awareness and training so that they possess the knowledge and skills to perform relevant tasks with cybersecurity risks in mind
- PR.PS Platform Security