09 Січ, 2023

XSS

Vulnerability Assessment as a Service (VAaaS)

Tests systems and applications for vulnerabilities to address weaknesses.

Міжсайтовий скриптінг (XSS) це тип уразливість, що дозволяє зловмисникові впровадити шкідливий код на веб-сайт або веб-додаток. Цей код виконується веб-браузером жертви, дозволяючи зловмиснику вкрасти особисту інформацію, таку як реєстраційні дані для входу, або виконувати дії від імені жертви. Існує три типи XSS:

• Збережені XSS: Цей тип XSS виникає, коли шкідливий код зберігається на цільовому сервері, наприклад, у базі даних. Коли жертва отримує збережені дані, шкідливий код запускається її браузером.

• Відбитий XSS: Цей тип XSS виникає, коли шкідливий код включається в URL-адресу і відбивається назад в браузері жертви. Браузер жертви виконує код, що дозволяє зловмиснику виконувати дії від імені жертви.

• XSS на основі DOM: Цей тип XSS виникає, коли шкідливий код впроваджується в об'єктну модель документа (DOM) браузера жертви, а не доставляється через сервер. Це може статися, коли веб-сайт або веб-додаток неправильно очищають дані, що вводяться користувачем.

 

Приклади:

Зловмисник впроваджує шкідливий скрипт в рядок пошуку веб-сайту, який потім зберігається в базі даних веб-сайту. Коли жертва шукає термін, шкідливий скрипт запускається її браузером, дозволяючи зловмиснику вкрасти їх облікові дані для входу.

Зловмисник включає шкідливий скрипт в URL-адресу і заманює жертву, змушуючи її натиснути на нього. Сценарій відбивається назад в браузері жертви і виконується, дозволяючи зловмиснику виконувати дії від імені жертви.

Веб-додаток неправильно очищає дані, що вводяться користувачем, що дозволяє зловмисникові впровадити шкідливий код в DOM браузера жертви. Це може дозволити зловмиснику вкрасти конфіденційну інформацію або виконати дії від імені жертви.

 

У деяких випадках XSS уразливості можуть використовуватися для підвищення привілеїв, дозволяючи зловмиснику отримати доступ до обмежених областях веб-сайту або веб-додатки. Це можна зробити, використовуючи обліковий запис жертви для виконання дій, які зазвичай вимагають більш високих привілеїв, або використовуючи XSS уразливість для встановлення шкідливого ПЗ на пристрій жертви, яке надає зловмиснику більш високі привілеї.

 

Ось кілька прикладів уразливого коду на різних мовах програмування:

 

JavaScript

 

function displayMessage(message) {
document.getElementById(“message”).innerHTML = message;
}

Якщо зловмисник може передати шкідливе значення для message параметр, вони потенційно можуть виконувати довільний код JavaScript на сторінці. Наприклад, якщо зловмисник передає наступну рядок в якості повідомлення:

 

“; alert("ХСС!"); //

Результуючий код буде виглядати наступним чином:

 

function displayMessage(message) {
document.getElementById(“message”).innerHTML = “”; alert(“XSS!”); //”;

 

Який виконає вікно попередження з повідомленням "XSS!" при виклику функції.

 

PHP

 

$username = $_POST[‘username’];
echo “Welcome, $username;

 

Якщо зловмисник відправляє наступне значення для username параметр:

 

‘; <script>alert(“XSS!”);</script>

 

Результуючий код буде виглядати наступним чином:

 

$username = ; <script>alert(“XSS!”);</script>‘;
echo “Welcome, $username”;

 

Який буде видавати вікно попередження з повідомленням "XSS!" при завантаженні сторінки.

 

Java

 

String username = request.getParameter(“username”);
out.println(“Welcome, “ + username);

 

Якщо зловмисник відправляє наступне значення для username параметр:

 

“><script>alert(“ХСС!);</script>

 

Результуючий код буде виглядати наступним чином:

 

String username = request.getParameter(“username”);
out.println(“Welcome, “ + “><script>alert(“XSS!“);</script>“);

 

Який буде видавати вікно попередження з повідомленням "XSS!" при завантаженні сторінки.

 

Важливо відзначити, що це всього лише кілька прикладів, і існує безліч інших способів виникнення XSS уразливостей. Для захисту від XSS-атак важливо правильно очищати enter, екранувати висновок і використовувати відповідні HTTP-заголовки, щоб знизити ризик XSS-атак.

 

Методологія тестування:

 

  1. Визначте всі поля введення на веб-сайті або у веб-додатку, включаючи форми, рядки пошуку і параметри URL.
  2. Спробуйте впровадити шкідливий код в кожне поле вводу. Це може включати теги HTML, JavaScript і інші типи коду.
  3. Якщо введений код відбивається назад в браузері і виконується, веб-сайт або веб-додаток уразливі для XSS.
  4. Повторіть процес тестування для всіх полів введення, щоб переконатися, що всі потенційні уразливості були виявлені.

Інструменти, які можна використовувати для тестування і використання XSS уразливостей:

 

Burp Suite: Інструментарій для тестування безпеки веб-додатків, який можна використовувати для перевірки XSS уразливостей.

XSSer: Інструмент з відкритим вихідним кодом для тестування і використання XSS уразливостей.

XSStrike: Інструмент на основі Python для виявлення і використання XSS уразливостей.

BeEF: Інструмент, який дозволяє зловмисникові керувати браузером жертви з допомогою XSS уразливості.

 

Деякі популярні експлойти для XSS уразливостей:

 

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

Установка шкідливого ПО: XSS уразливість може бути використана для встановлення шкідливого ПЗ на пристрій жертви, дозволяючи зловмиснику отримати доступ до конфіденційної інформації чи виконувати дії від імені жертви.

Крадіжка облікових даних: XSS уразливість може бути використана для крадіжки облікових даних жертви для входу, дозволяючи зловмиснику отримати доступ до обмежених областях веб-сайту або веб-додатки.

 

Кращі останні новини XSS:

 

Помилка впровадження CSS виправлена в консолі управління хмарою Acronis

CMS з відкритим вихідним кодом TYPO3 усуває вразливість XSS 

XSS в Gmail AMP For Email приносить досліднику 5000 доларів 

 

Веб-сайти, які дозволяють вам тестувати XSS уразливості, в тому числі:

 

Hack.me: Веб-сайт, який надає безліч завдань для тестування навичок безпеки веб-додатків, включаючи XSS уразливості.

XSS Challenge: Веб-сайт, який надає ряд завдань для тестування і поліпшення ваших навичок в пошуку і використанні XSS уразливостей.

XSS Practice: Веб-сайт, який надає безліч завдань для тестування і поліпшення ваших навичок в пошуку і використанні XSS уразливостей.

 

Корисні курси для отримання додаткової інформації про XSS уразливість, а також про те, як їх тестувати і використовувати:

 

Довідник хакерів веб-додатків" Дэфидда Штуттарда і Маркуса Пінто: Ця книга являє собою всеосяжне керівництво по пошуку і використанню вразливостей веб-додатків, включаючи XSS уразливості.

Атаки з використанням міжсайтових сценаріїв: експлойти XSS і захист" Сета Фоги і Марка Станіслава: У цій книзі міститься докладний огляд XSS уразливостей та способів захисту від них.

Атаки з використанням міжсайтових сценаріїв: класифікація, атака і контрзаходи Бридж Б. Гупта і Пуджа Чаудхарі: Цей курс, доступний на edX, охоплює принципи і методи тестування безпеки веб-додатків, включаючи тестування на XSS уразливості.

 

Деякі з найбільш поширених загроз і вразливостей (CVE), пов'язаних із вразливостями XSS:

 

CVE-2019-5108: Збережена XSS уразливість в системі управління контентом WordPress, яка дозволила зловмиснику впровадити шкідливий код в базу даних веб-сайту.

CVE-2018-7602: Відображена XSS уразливість в системі управління контентом Drupal, яка дозволяла зловмиснику впроваджувати шкідливий код на веб-сайт URL-адресу.

CVE-2018-17082: Збережена XSS уразливість в платформі електронної комерції Magento, яка дозволила зловмиснику впровадити шкідливий код в базу даних веб-сайту.

 

Список популярних експлойтів:

 

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

Установка шкідливого ПО: XSS уразливість може бути використана для встановлення шкідливого ПЗ на пристрій жертви, дозволяючи зловмиснику отримати доступ до конфіденційної інформації чи виконувати дії від імені жертви.

Крадіжка облікових даних: XSS уразливість може бути використана для крадіжки облікових даних жертви для входу, дозволяючи зловмиснику отримати доступ до обмежених областях веб-сайту або веб-додатки.

 

Список книг з оглядом певних вразливостей: Деякі книги, в яких міститься огляд XSS уразливостей та способів захисту від них, включають:

 

"Безпека веб-додатків: керівництво для початківців" Брайана Саллівана: Ця книга являє собою керівництво для початківців з безпеки веб-додатків, включаючи огляд XSS уразливостей і способи захисту від них.
Хакерство: мистецтво експлуатації" Джона Еріксона: У цій книзі міститься докладний огляд різних методів злому, включаючи XSS уразливості і способи їх використання.
Black Hat Python: Програмування на Python для хакерів і пентестеровавтор: Джастін Сейтц: У цій книзі представлений огляд програмування на Python для злому і тестування на проникнення, включаючи главу про використання XSS уразливостей.

Список корисних навантажень, що підходять для уразливості: Деякі корисні навантаження, які можна використати для використання XSS уразливостей, включають:

 

Код JavaScript: він може використовуватися для виконання дій від імені жертви, таких як крадіжка облікових даних для входу або встановлення шкідливого ПО.

HTML-теги: вони можуть використовуватися для зміни зовнішнього вигляду веб-сайту або веб-додатки або для виконання шкідливого коду.

Параметри URL-адреси: вони можуть використовуватися для впровадження шкідливого коду на веб-сайт або веб-додаток через URL-адресу.

 

Правила Sigma / Правила брандмауера для блокування або зупинки вразливостей: Для блокування або зупинки XSS уразливостей можуть бути реалізовані наступні правила Sigma або правила брандмауера:

 

Перевірка вхідних даних: це включає в себе перевірку того, що всі введені користувачем дані відповідають певним критеріям, таким як мінімальна довжина або дозволені символи. Це може допомогти запобігти впровадження шкідливого коду на веб-сайт або веб-додаток.

Очищення: це включає в себе видалення або кодування потенційно шкідливого коду з користувальницького введення. Це може допомогти запобігти виконання коду браузером жертви.

Політика безпеки контенту (CSP): це функція безпеки, яка дозволяє веб-сайту або веб-додатком вказувати, які джерела можна для виконання коду в браузері жертви. При вказівці суворого CSP зловмиснику може бути складніше скористатися уразливістю XSS.

 

Корисні сервіси: Деякі корисні сервіси для усунення вразливостей XSS включають:

 

Брандмауер веб-додатків (WAF): WAF - це система безпеки, яка відстежує і контролює вхідний і вихідний трафік на веб-сайт або веб-додаток. Він може бути налаштований для блокування або пом'якшення XSS уразливостей.

Служби тестування безпеки: Існує кілька компаній, що пропонують послуги з тестування веб-сайтів і веб-додатків на наявність вразливостей, включаючи XSS уразливості. Ці служби можуть допомогти виявити і усунути уразливості до того, як вони будуть використані.

 

Деякі кроки, які можна зробити для зниження ризику XSS уразливостей, включають:

 

Запровадження перевірки і очищення вхідних даних: це може допомогти запобігти впровадження шкідливого коду на веб-сайт або веб-додаток.

Використання політики безпеки контенту: це може допомогти вказати, яким джерелам дозволено виконувати код в браузері жертви, що ускладнює зловмиснику використання XSS уразливості.

Регулярне виправлення та оновлення веб-сайту або веб-додатки: це може допомогти усунути відомі уразливості і запобігти їх використання.

Навчання користувачів: Навчання користувачів розпізнавати та уникати підозрілих посилань і форм може допомогти запобігти їх від того, щоб стати жертвою XSS-атак.

Інші Послуги

Готові до безпеки?

зв'язатися з нами