Межсайтовый скриптинг, более известный как XSS, представляет собой тип уязвимости, при котором злоумышленники удаленно внедряют пользовательские скрипты на веб-страницы.
Обычно это происходит на сайтах, где параметры ввода данных неправильно обработаны.
Это непрямая атака.
Пейлоад косвенно отправляется жертве.
Вредоносный код внедряется на сайт злоумышленником, а затем становится его частью.
Каждый раз, когда пользователь (жертва) посещает веб-страницу, вредоносный код перемещается в браузер.
Следовательно, пользователь ничего не знает.
С помощью XSS злоумышленник может:
- Манипулировать, уничтожать или даже портить веб-сайт.
- Раскрытие конфиденциальных пользовательских данных
- Захват аутентифицированных файлов cookie сеанса пользователя
- Загрузить фишинговую страницу
- Перенаправлять пользователей во вредоносную зону
XSS входит OWASP top 10 в течение последнего десятилетия.
Более 75% поверхностной сети уязвимо для XSS.
Существует 4 типа XSS:
- Сохраненный XSS
- Отраженный XSS
- XSS на основе DOM
- Слепой XSS
Большинство пентестеров используют XSS инструменты для выполнения поиска такого рода уязвимостей.
Автоматизация процесса не только экономит время и усилия, но, что более важно, дает точные результаты.
Сегодня мы обсудим некоторые бесплатные и полезные инструменты.
Мы также обсудим, как их установить и использовать.
XSSer
XSSer или межсайтовый скриптер – это автоматический фреймворк, который помогает пользователям находить и использовать XSS-уязвимости на веб-сайтах.
В нем предустановлена библиотека, содержащая около 1300 уязвимостей, что помогает обойти многие WAF.
Давайте посмотрим, как мы можем использовать его для поиска уязвимостей XSS!
Установка:
Нам нужно клонировать xsser из следующего репозитория GitHub.
$ git clone https://github.com/epsylon/xsser.git
Теперь xsser в нашей системе.
Перейдите в папку xsser и запустите setup.py
$ cd xsser $ python3 setup.py install
Он установит все зависимости, которые уже были установлены, и установит xsser.
Пришло время запустить его.
Запускаем графический интерфейс:
$ python3 xsser --gtk
Появится такое окно:
Если вы новичок, работайте через wizard.
Если вы профессионал, я рекомендую настроить XSSer в соответствии с вашими потребностями через вкладку «Configure».
Запускаем в Терминале:
$ python3 xsser
Как только это будет сделано, результаты сохранятся в файле.
Вы всегда можете вернуться, чтобы посмотреть, какая из полезных нагрузок сработала.
XSSniper:
Cross-Site Sniper, также известный как XSSniper, – еще один инструмент обнаружения xss с функциями массового сканирования.
Он сканирует цель на предмет параметров GET, а затем вводит пейлоад XSS.
Его способность сканировать целевой URL-адрес для относительных ссылок считается еще одной полезной функцией.
Каждая найденная ссылка добавляется в очередь сканирования и обрабатывается, что упрощает тестирование всего веб-сайта.
В конце концов, этот метод не является надежным, но это хорошая эвристика для массового поиска точек инъекции и тестирования стратегий побега.
Кроме того, поскольку нет эмуляции браузера, вам необходимо вручную протестировать обнаруженные инъекции на предмет защиты различных xss-браузеров.
Чтобы установить XSSniper:
$ git clone https://github.com/gbrindisi/xsssniper.git
XSStrike:
Ранее мы рассмотрели его:
XSStrike – Продвинутый XSS фаззер & набор пэйлоадов
Сканирование одного URL:
$ python xsstrike.py -u http://example.com/search.php?q=query
Пример сканирования:
$ python xsstrike.py -u "http://example.com/page.php" --crawl
XSS Hunter:
Это недавно выпущенный фреймворк в области XSS-уязвимостей, обеспечивающий простое управление, организацию и мониторинг.
Позволяет найти любые типы уязвимостей межсайтового скриптинга, включая слепой XSS (который, как правило, часто упускают), как преимущество перед обычными инструментами XSS.
Установка:
$ sudo apt-get install git (if not already installed) $ git clone https://github.com/mandatoryprogrammer/xsshunter.git
Настройка:
– запустите скрипт
$ ./generate_config.py
Теперь запустите API
$ sudo apt-get install python-virtualenv python-dev libpq-dev libffi-dev $ cd xsshunter/api/ $ virtualenv env $ . env/bin/activate $ pip install -r requirements.txt $ ./apiserver.py
Чтобы использовать GUI:
$ cd xsshunter/gui/ $ virtualenv env $ .env/bin/activate $ pip install -r requirements.txt $ ./guiserver.py
W3af:
Еще один инструмент для тестирования уязвимостей с открытым исходным кодом, который в основном использует JS для тестирования определенных веб-страниц на наличие уязвимостей.
Главное требование – настроить инструмент в соответствии с вашими требованиями.
После этого он будет эффективно выполнять свою работу и выявлять уязвимости XSS.
Это инструмент на основе плагинов, который разделен на три раздела:
- Ядро (для базового функционирования и предоставления библиотек для плагинов)
- UI
- Плагины
Установка:
Чтобы установить w3af в вашу систему Linux, просто выполните следующие шаги:
Клонируйте репозиторий GitHub.
$ sudo git clone https://github.com/andresriancho/w3af.git
Установите версию, которую хотите использовать.
> Если вы хотите использовать версию с графическим интерфейсом:
$ sudo ./w3af_gui
Если вы предпочитаете использовать консольную версию:
$ sudo ./w3af_console
Оба вариант потребуют установки зависимостей, если они еще не установлены.
В /tmp/script.sh создается скрипт, который установит для вас все зависимости.
Заключение
Эти инструменты – просто капля в море, поскольку в Интернете полно удивительных инструментов.
Такие инструменты, как Burp и webscarab, также могут использоваться для обнаружения XSS.
¯\_(ツ)_/¯
Примечание: Информация для исследования, обучения или проведения аудита. Применение в корыстных целях карается законодательством РФ.