Burp Suite для пентестинга: XSS Validator

Дата: 06.11.2020. Автор: Игорь Б. Категории: Статьи по информационной безопасности
Burp Suite для пентестинга: XSS Validator

В этой статье пойдет речь об одном из самых полезных расширений Burpsuite — XSS Validator. С помощью него пользователь может автоматизировать обнаружение и проверку веб-приложения на уязвимость для атак XSS.

Если читатели не знакомы с Cross-Site Scripting, то лучше ознакомиться с еще одной статьей (которая была опубликована ранее на нашем сайте), прежде чем читать информацию, представленную ниже.

Знакомство с расширениями Burp и BApp Store

Расширения Burp

Читатели, скорее всего, слышали термин «расширение» относительно браузера, будь то Chrome или Firefox, но о чем идет речь в данном случае?

Расширения – это специальные программы, написанные для того, чтобы расширить функциональные возможности приложения. Таким образом, Burpsuite имеет возможность настройки своих функций и расширения возможностей: будь то изменение HTTP-запросов и ответов, настройка пользовательского интерфейса или добавление пользовательских проверок с помощью сканера. Это все относится к расширениям Burp.

BApp Store

Но где найти эти расширения?

В Burpsuite есть особая вкладка, которая была сделана только для управления расширениями программы. Вкладка Extender помогает пользователю управлять всеми расширениями, которые уже были установлены. Там также есть раздел, имеющий название BApp Store, где можно скачать дополнительные расширения.

В BApp Store пользователь может просмотреть список доступных BApps, скачать конкретное расширение и оценить уже установленные дополнения.

Однако некоторые расширения уже были удалены из BApp Store, поэтому для таких случаев Burp дает пользователям возможность вручную установить нужное им расширение.

Burp Suite для пентестинга: XSS Validator

Что такое XSS Validator?

XSS Validator, специальное расширение для Burp, предназначенное для обнаружения и проверки на уязвимость атак Cross-Site Scripting.

John Poulin, создатель этого расширения, разработал его еще в 2017 году с намерением автоматизировать обнаружение уязвимостей XSS в веб-приложениях.

Это расширение популярно, поскольку работает без перебоев и имеет встроенный список полезных нагрузок, где каждая полезная нагрузка связана со значением триггера «f7sdgfjFpoG».

Будучи валидатором, это расширение также вносит свой вклад в качестве детектора уязвимостей и атак. Однако для того, чтобы провести успешную атаку, XSS Validator отправляет ответы на локальный запущенный сервер XSS-Detector, т.е. Phantom.js или Slimer.js.

Настала пора узнать, как провести установку и атаку с помощью этого расширения.

Установка XSS Validator

Установка расширения из BApp Store

Как уже было сказано ранее, BApp Store – это хранилище расширений, и поэтому XSS Validator можно найти именно там.

Таким образом, это расширение может быть установлено с помощью нескольких простых шагов.

В Burp Suite нужно открыть вкладку «Extender», выбрать там раздел «BApp», для того чтобы увидеть весь список расширений.

Burp Suite для пентестинга: XSS Validator

Следует прокрутить страницу вниз, пока пользователь не дойдет до конца списка. Там он найдет нужное расширение.

Burp Suite для пентестинга: XSS Validator

Как только пользователь нажмет на кнопку «install», начнется загрузка, и в течение нескольких минут будет установлено новое расширение «XSS Validator».

Burp Suite для пентестинга: XSS Validator

Стоит нажать на него и проверить, какие функции есть у этого расширения.

В правой части приведенного ниже изображения видно, что есть целый список полезных нагрузок. Вместе с ним, в левой части картинки, есть Grep Phrase, с помощью которой можно активировать добавленную туда полезную нагрузку. Также видно, что можно провести настройку сервера PhantomJs, который и будет использоваться в данном практическом примере.

Burp Suite для пентестинга: XSS Validator

Установка Phantom.js как XSS Detector

Читателям наверняка интересно, что это такое Phantom.js и почему нужно его установить.

Phantom.js – это инструмент командной строки, такой себе браузер. Однако он не содержит никакого графического интерфейса и работает сам по себе в фоновом режиме.

Бывают случаи, когда атаки XSS на основе DOM осуществляются хакерами, и если пользователь попытается ударить по ним, ему понадобится обнаружить все возможные XSS. Для этого и устанавливается Phantom.js. Читатели могут скачать его, перейдя по ссылке.

Теперь, чтобы интегрировать XSS validator с Phantom.js, нужно скачать файл xss.js. Это можно сделать, перейдя по ссылке.

Burp Suite для пентестинга: XSS Validator

Как только пользователь это сделает, следует переместить Phantom.js exe в каталог XSS detector.

А теперь пользователь откроет каталог и выполнит следующую команду, чтобы запустить сервер:

phantomjs.exe xss.js
Burp Suite для пентестинга: XSS Validator

Нужно проверить, работает ли сервер с помощью команды:

http://127.0.0.1:8093

Круто! На приведенном ниже изображении пользователь видит, что сервер был успешно настроен.

Burp Suite для пентестинга: XSS Validator

Фаззинг с помощью XSS Validator

Установка прошла успешно, теперь следует провести быстрый фаззинг в поле поиска на test.vulnhub с помощью XSS Validator.

Burp Suite для пентестинга: XSS Validator

Пользователь перехватит текущий HTTP-запрос и, таким образом, поделится им непосредственно с Intruder.

Burp Suite для пентестинга: XSS Validator

Настало время установить позицию полезной нагрузки и выбрать тип атаки. Пользователь перейдет прямо на вкладку «Positions», выберет нужную позицию и нажмет на кнопку «Add». Будет также выбран «ignite» как цель.

Burp Suite для пентестинга: XSS Validator

Теперь, стоит перейти к самой важной части этой статьи: вместо простого добавления файла полезной нагрузки, нужно сначала установить тип полезной нагрузки как «Extension-generated».

Burp Suite для пентестинга: XSS Validator

Теперь следует выбрать generator в качестве полезной нагрузки XSS Validator из меню полезных нагрузок.

Burp Suite для пентестинга: XSS Validator

В этот раз пользователь отключит опцию кодирования полезной нагрузки.

Burp Suite для пентестинга: XSS Validator

Теперь нужно скопировать Grep Phrase, чтобы это работало относительно каждой последующей полезной нагрузки.

Burp Suite для пентестинга: XSS Validator

Итак, почти все: нужно вставить скопированный текст в Grep Match на вкладке «Options», чтобы понять, что атака была осуществлена успешно.

Burp Suite для пентестинга: XSS Validator

Наконец, стоит проверить галочку у пункта: «Search responses for payload strings» и нажать на кнопку атаки.

Burp Suite для пентестинга: XSS Validator

На приведенном ниже изображении можно увидеть, что почти все полезные нагрузки были запущены успешно.

Burp Suite для пентестинга: XSS Validator

Чтобы убедиться в этом, стоит проверить результат в браузере. Пользователь щелкнет правой кнопкой мыши на любом успешном запросе, выберет опцию «Show response in the browser» и скопирует сгенерированный URL-адрес, чтобы открыть его в браузере.

Burp Suite для пентестинга: XSS Validator

Отлично! Все работает прекрасно.

Burp Suite для пентестинга: XSS Validator

Стоп, а как же phantom.js? Неужели он что-то захватил?

Как только начнется атака, phantom.js попытается протестировать каждую инъекцию XSS с помощью HTTP-запросов, совместно используемых с XSS Validator.

blank

Настройка списков полезных нагрузок

Некоторые полезные нагрузки уже предустановлены вместе с XSS validator, но что делать, если пользователь хочет добавить свою полезную нагрузку? Он может это сделать, просто введя или вставив полезную нагрузку непосредственно в меню полезных нагрузок, находящемся в правой части расширения.

blank

Стоит проверить, работает ли эта недавно добавленная полезная нагрузка или нет. Для этого пользователь еще раз проведет фаззинг.

На приведенном ниже скриншоте видно, что Grep Phrase была успешно запущена с помощью новой полезной нагрузки.

blank

Отлично! На приведенном ниже изображении можно также увидеть, что полезная нагрузка выполняется успешно.

blank

Автор переведенной статьи: Chiragh Arora.

Важно! Информация исключительно в учебных целях. Пожалуйста, соблюдайте законодательство и не применяйте данную информацию в незаконных целях.

Игорь Б

Об авторе Игорь Б

Автор на портале cisoclub.ru. Добавляйте ваш материал на сайт в разделе "Разместить публикацию".
Читать все записи автора Игорь Б

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *