Подробное руководство по межсайтовому скриптингу (XSS) (XSSer) (ч.6)

Kenshiro

Script Kiddie
22.05.2020
10
1
6
XSSer

Межсайтовый «Скриптер» или «XSSer» - это автоматический фреймворк, который обнаруживает XSS-уязвимости в веб-приложениях и даже предоставляет несколько вариантов их использования.

XSSer имеет более 1300 предустановленных векторов фаззинга XSS, что дает злоумышленнику возможность обходить веб-приложения с определенной фильтрацией и WAF (межсетевые экраны веб-приложений).

Итак, давайте посмотрим, как этот фаззер может помочь нам в использовании нашего веб-приложения bWAPP. Но для того, чтобы двигаться дальше, нам нужно клонировать XSSer на нашу машину Kali, поэтому давайте сделаем это с помощью

Код:
git clone https://github.com/epsylon/xsser.git
Теперь загрузитесь обратно в свой bWAPP, установите для параметра «Выбрать ошибку» значение «XSS –Reflected (Get)» и нажмите кнопку взлома, и на этот раз мы установим уровень безопасности «средний».
1600756783691.png

XSSer предлагает нам две платформы - графический интерфейс и командную строку. Поэтому в этом разделе мы сосредоточимся на методе командной строки.

Поскольку уязвимость XSS зависит от входных параметров, этот XSSer работает с «URL»; и даже для получения точного результата нам тоже нужны куки. Чтобы понять и то, и другое, я произвел пробный запуск, установив имя как «test», а фамилию как «test1».
1600756836771.png

Теперь давайте перехватим запрос браузера в наш burpsuite, просто включив параметры прокси и перехвата, а затем, нажав кнопку Go, мы получили результат как
1600756875575.png
Запустите 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
1600756957776.png
На скриншоте ниже видно, что этот URL-адрес уязвим для 1287 векторов.
1600756984198.png
Лучшее в этом фаззере - это то, что он предоставляет URL-адрес браузера. Выберите и выполните что угодно, и готово.


Примечание:

Необязательно, чтобы с каждой полезной нагрузкой вы получали всплывающее окно с предупреждением, поскольку каждая полезная нагрузка определяется каким-то конкретным событием, будь то настройка iframe, захват некоторых файлов cookie или перенаправление на другой веб-сайт или что-то другое.
Таким образом, из приведенного ниже снимка экрана видно, что мы успешно испортили это веб-приложение.
1600757263206.png
Шаги по смягчению
  • Разработчикам следует реализовать белый список допустимых входных данных, и, если это невозможно, необходимо провести некоторые проверки входных данных, а данные, введенные пользователем, должны быть максимально отфильтрованы.
  • Кодирование вывода - это наиболее надежное решение для борьбы с XSS, т. Е. Оно берет код сценария и, таким образом, преобразует его в простой текст.
  • Должен быть реализован WAF или брандмауэр веб-приложений, поскольку он где-то защищает приложение от XSS-атак.
  • Использование флагов HTTPOnly в файлах cookie.
  • Разработчики могут использовать политику безопасности контента (CSP) для снижения серьезности любых XSS-уязвимостей.
 

Об LS-LA

  • Мы, группа единомышленников, основная цель которых повышать уровень знаний и умений.
    Не забывая о материальном благополучии каждого)

About LS-LA

  • We, a group of like-minded people, whose main goal is to increase the level of knowledge and skills.
    Not forgetting about everyone’s material well-being)

Быстрая навигация

Пользовательское меню