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-атак важно правильно очищать ввод, экранировать вывод и использовать соответствующие 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-атак.

Другие Услуги

Готовы к безопасности?

Связаться с нами