Mastodon Mastodon Mastodon Mastodon

Міжсайтовий скриптинг [XSS]

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

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

Як працює XSS

XSS виникає, коли сайт виводить на сторінку неперевірені дані без правильного екранування. Браузер не може відрізнити впроваджений код від власного JavaScript сайту й виконує його.

Три основні типи:

  • Збережений (stored). Код зберігається на сервері, наприклад у коментарі чи профілі, і спрацьовує в кожного відвідувача.
  • Відображений (reflected). Код міститься в посиланні й повертається у відповіді сервера, тож жертва має відкрити підготовлений URL.
  • DOM-based. Помилка в клієнтському коді, який записує небезпечні дані на сторінку.

Чому XSS небезпечний

Впроваджений скрипт може:

  • викрасти сесійні cookie й токени;
  • виконувати дії від імені користувача;
  • показати підроблену форму входу;
  • перенаправити на шкідливий сайт або змінити вміст сторінки.

2005 року хробак Samy через збережений XSS за добу додав у друзі понад мільйон користувачів MySpace. Сьогодні XSS в адмін-панелях, вебпошті та плагінах популярних CMS — поширений спосіб захоплення акаунтів і сайтів. Разом із SQL-ін’єкціями XSS належить до родини ін’єкційних вразливостей.

Як запобігти XSS

  • Екрануйте виведення з урахуванням контексту (HTML, атрибут, JavaScript, URL). Сучасні фреймворки роблять це за замовчуванням — не обходьте цей захист.
  • Очищуйте користувацький HTML перевіреною бібліотекою, наприклад DOMPurify.
  • Увімкніть сувору Content Security Policy (CSP), яка забороняє вбудовані й сторонні скрипти.
  • Позначайте сесійні cookie прапорцями HttpOnly і Secure, оновлюйте плагіни CMS.
Синоніми:
міжсайтове виконання сценаріїв, cross-site scripting, XSS-атака