
XSS Fuzzer — это инструмент, который генерирует XSS-полезные нагрузки на основе заданных пользователем векторов и списков для фаззинга.
XSS Fuzzer — это простое приложение, написанное на чистом HTML/JavaScript/CSS, которое генерирует XSS-полезные нагрузки на основе заданных пользователем векторов с использованием нескольких заполнителей, заменяемых списками для фаззинга.
Оно предоставляет возможность как просто генерировать полезные нагрузки в виде обычного текста, так и выполнять их внутри iframe. Внутри iframe можно отправлять GET- или POST-запросы из браузера на произвольные URL-адреса с использованием сгенерированных полезных нагрузок.
XSS Fuzzer — это универсальный инструмент, который может быть полезен для множества целей, включая:
Для фаззинга необходимо создать заполнители, например:
<[TAG] [ATTR]=Something [EVENT]=[SAVE_PAYLOAD] />
Заполнитель [SAVE_PAYLOAD] будет заменён на JavaScript-код, такой как alert(unescape('[PAYLOAD]'));. Этот код срабатывает при успешном выполнении XSS-полезной нагрузки.
Результат для указанных списков для фаззинга и полезной нагрузки будет следующим:
<svg src=Something onerror=alert(unescape('%3Csvg%20src%3DSomething%20onerror%3D%5BSAVE_PAYLOAD%5D%20/%3E')); />
<svg value=Something onerror=alert(unescape('%3Csvg%20value%3DSomething%20onerror%3D%5BSAVE_PAYLOAD%5D%20/%3E')); />
<svg src=Something onload=alert(unescape('%3Csvg%20src%3DSomething%20onload%3D%5BSAVE_PAYLOAD%5D%20/%3E')); />
<svg value=Something onload=alert(unescape('%3Csvg%20value%3DSomething%20onload%3D%5BSAVE_PAYLOAD%5D%20/%3E')); />
При выполнении в таком браузере, как Mozilla Firefox, будет показано предупреждение с выполненными полезными нагрузками:
<svg src=Something onload=[SAVE_PAYLOAD] />
<svg value=Something onload=[SAVE_PAYLOAD] />
Можно использовать страницу, уязвимую для XSS, для различных тестов, например, для обхода XSS-аудитора браузера. Страница может принимать GET- или POST-параметр с именем payload и просто отображать его неэкранированное значение.
Рабочую версию можно найти по адресу https://xssfuzzer.com
Приложение находится в стадии бета-тестирования, поэтому могут быть ошибки. Если вы хотите сообщить об ошибке или внести предложение, вы можете воспользоваться репозиторием GitHub или отправить мне письмо на адрес contact [a] xssfuzzer.com.