XSSer
Межсайтовый «Скриптер» или «XSSer» - это автоматический фреймворк, который обнаруживает XSS-уязвимости в веб-приложениях и даже предоставляет несколько вариантов их использования.
XSSer имеет более 1300 предустановленных векторов фаззинга XSS, что дает злоумышленнику возможность обходить веб-приложения с определенной фильтрацией и WAF (межсетевые экраны веб-приложений).
Итак, давайте посмотрим, как этот фаззер может помочь нам в использовании нашего веб-приложения bWAPP. Но для того, чтобы двигаться дальше, нам нужно клонировать XSSer на нашу машину Kali, поэтому давайте сделаем это с помощью
Код:
git clone https://github.com/epsylon/xsser.git
XSSer предлагает нам две платформы - графический интерфейс и командную строку. Поэтому в этом разделе мы сосредоточимся на методе командной строки.
Поскольку уязвимость XSS зависит от входных параметров, этот XSSer работает с «URL»; и даже для получения точного результата нам тоже нужны куки. Чтобы понять и то, и другое, я произвел пробный запуск, установив имя как «test», а фамилию как «test1».
Теперь давайте перехватим запрос браузера в наш burpsuite, просто включив параметры прокси и перехвата, а затем, нажав кнопку Go, мы получили результат как
Запустите Kali Terminal с помощью XSSer и выполните следующую команду с флагами –url и –cookie. Здесь я даже использовал флаг –auto, который проверяет URL со всеми предварительно загруженными векторами. В примененном URL-адресе нам нужно изменить значение входного параметра на «XSS», поскольку в нашем случае я изменил «тест» на «XSS».
python3 xsser --url "http://192.168.0.9/bWAPP/xss_get.php?firstname=XSS&lastname=test1&form=submit" --cookie "PHPSESSID=q6t1k21lah0ois25m0b4egps85; security_level=1" --auto
На скриншоте ниже видно, что этот URL-адрес уязвим для 1287 векторов.
Лучшее в этом фаззере - это то, что он предоставляет URL-адрес браузера. Выберите и выполните что угодно, и готово.
Примечание:
Необязательно, чтобы с каждой полезной нагрузкой вы получали всплывающее окно с предупреждением, поскольку каждая полезная нагрузка определяется каким-то конкретным событием, будь то настройка iframe, захват некоторых файлов cookie или перенаправление на другой веб-сайт или что-то другое.
Таким образом, из приведенного ниже снимка экрана видно, что мы успешно испортили это веб-приложение.
Шаги по смягчению
- Разработчикам следует реализовать белый список допустимых входных данных, и, если это невозможно, необходимо провести некоторые проверки входных данных, а данные, введенные пользователем, должны быть максимально отфильтрованы.
- Кодирование вывода - это наиболее надежное решение для борьбы с XSS, т. Е. Оно берет код сценария и, таким образом, преобразует его в простой текст.
- Должен быть реализован WAF или брандмауэр веб-приложений, поскольку он где-то защищает приложение от XSS-атак.
- Использование флагов HTTPOnly в файлах cookie.
- Разработчики могут использовать политику безопасности контента (CSP) для снижения серьезности любых XSS-уязвимостей.