Міжсайтова підробка запитів

Міжсайтова підробка запитів

Ваш сесійний cookie додається навіть до запиту, якого ви не робили.

Що таке Міжсайтова підробка запитів?

Браузери додають сесійний cookie сайту до запитів, надісланих з інших сайтів, якщо цьому не перешкоджає налаштування SameSite, і міжсайтова підробка запитів існує саме в цій прогалині. Ви створите сторінку з купоном, прихована форма якої сама надсилається й виводить гроші з порталу, до якого жертва ввійшла в іншій вкладці. Потім ви отримаєте сповіщення про шахрайство, помітите виказовий заголовок Origin і виправите обробник токеном для кожної сесії та SameSite=Strict . Токен працює, бо зловмисник може надіслати міжсайтовий запит, але ніколи не прочитає відповідь.

Що ви дізнаєтесь у Міжсайтова підробка запитів

Міжсайтова підробка запитів — Кроки навчання

  1. Звичайний переказ

    У Westmark Industrial є внутрішній портал закупівель, через який авторизують платежі постачальникам. Алісі треба сьогодні вранці зробити один невеликий переказ: $247.50 для Hartwell Logistics за звичайну доставку. Під капотом портал автентифікує кожен запит за її сесійним cookie. Увійдіть і подивіться, як працює звичайний переказ.

  2. Вхід у портал

    Це портал, через який Аліса авторизує платежі постачальникам. Її сесія в цій вкладці залишається активною до кінця дня.

  3. Авторизуйте переказ

    Надішліть $247.50 компанії Hartwell Logistics. Форма надсилає на ендпоінт переказу суму й отримувача в тілі запиту. Сесійний cookie Аліси додається автоматично, і лише він доводить, що запит належить їй.

  4. Записано в журнал

    Переказ з'являється в розділі «Остання активність». Сесійний cookie був чинним, тіло запиту — коректним, і портал авторизував переказ. Зверніть увагу, чого він не вимагав: у тілі не було жодного секрету, нічого, що могла б надати лише справжня форма. Сесійного cookie самого по собі було достатньо як доказу.

  5. Запит, який він не може надіслати

    Боб не може дістатися до рахунків Westmark Industrial. Але він знає, що ендпоінт переказів авторизує все, що надсилає браузер співробітника, який увійшов у портал, і знає, що співробітники залишаються в системі цілий день. Сам надіслати запит він не може: той має значення, лише якщо надходить з автентифікованого браузера співробітника. Тож він будує сторінку, яка надсилає запит замість нього. Усе, що бачить відвідувач, — ця весела сторінка з купоном.

  6. Під сторінкою з кавою

    Сторінка з кавою — підставна. Відкрийте її вихідний код і подивіться, що насправді ховається під привітним заголовком.

  7. Усередині пастки

    Під привітним заголовком ховається справжній пейлоад. Пройдіть його крок за кроком: прихована форма, яка в ту саму мить, коли завантажується сторінка, надсилає запит на справжній ендпоінт переказів Westmark Industrial, з даними Боба, а не відвідувача.

  8. Надішліть приманку Алісі

    Сторінку підготовлено. Тепер Боб оформлює її як веселий лист із купоном, надсилає на робочу адресу Аліси й чекає, що вона відкриє його, поки її сесія в порталі ще активна.

  9. Лист про безкоштовну каву

    Увечері, поза робочим часом, Аліса отримує веселий лист: безкоштовна кава, для отримання якої достатньо одного кліку. Лист не просить пароль. Вкладка порталу з ранку досі відкрита у фоні.

  10. Придивіться уважніше

    Лист не просить ні облікових даних, ні завантаження файлу. Це лише посилання на сторінку з купоном — з тих, які більшість людей пробігає очима й натискає.

Охоплення стандартів безпеки

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