Skip to content
KitploitKITPLOIT
ИнструментыЭксплойтыБлог
Log in
Отправить
ИнструментыЭксплойтыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

ЛентыКонтактыКонфиденциальность© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
xssearch — XSS-сканер на Rust с контекстно-зависимым подбором полезных нагрузок, обнаружением и обходом WAF, сканированием, колбэками слепого XSS и статическим анализом DOM-стоков. | Kitploit
Инструменты/GitHubGitHub/affolter-engineering/xssearch
РазведкаСтатический анализСканеры уязвимостейСканеры веб-уязвимостейГенерация полезной нагрузкиЭксплуатация веб-приложенийСбор информацииОбход WAFВеб-безопасностьТестирование на ПроникновениеRed Teaming
21371 день назадЕщё не проверено

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Краулер
GitHubaffolter-engineering/xssearch

xssearch

XSS-сканер на Rust с контекстно-зависимым подбором полезных нагрузок, обнаружением и обходом WAF, сканированием, колбэками слепого XSS и статическим анализом DOM-стоков.

Репозиторий
Поделиться

xssearch

Продвинутый инструмент обнаружения XSS, написанный на Rust, сочетающий контекстно-зависимый интеллект полезных нагрузок с широтой инъекций.

Этот инструмент был вдохновлён XSStrike и XSSER. Полезные нагрузки были собраны из разных источников:

  • https://github.com/ardakocadoru/xss-cheatsheet
  • https://github.com/Proviesec/xss-payload-list
  • https://cheatsheetseries.owasp.org/cheatsheets/XSS_Filter_Evasion_Cheat_Sheet.html
  • https://github.com/swisskyrepo/PayloadsAllTheThings

Спасибо, ребята, вы классные ❤️

Предупреждение: Используйте только против систем, которыми вы владеете или на тестирование которых у вас есть явное письменное разрешение.

Возможности

  • Контекстно-зависимое сканирование — сначала проверяет каждый параметр, определяет, где отражается значение (тело HTML, атрибут, JavaScript, комментарий, <title>, <textarea> и т. д.), и выбирает наиболее подходящие полезные нагрузки для этого контекста, а не слепо запускает всё подряд
  • 100+ встроенных полезных нагрузок — HTML-теги, выходы из атрибутов, JS-инъекции, полиглоты, DOM-стоки, варианты обхода WAF
  • Обнаружение и обход WAF — определяет Cloudflare, ModSecurity, Sucuri, Imperva, Akamai, AWS WAF, F5 BIG-IP, Barracuda, Wordfence; применяет преобразования обхода для каждого WAF (изменение регистра, вставка комментариев, символы нулевой ширины и кодирование)
  • Краулер — обходит ссылки и формы для автоматического обнаружения инъектируемых параметров
  • Инъекция в заголовки и cookie — тестирует Referer, User-Agent, X-Forwarded-For, X-Real-IP и другие заголовки, а также значения cookie
  • Blind XSS — внедряет out-of-band callback-нагрузки (совместимые с Burp Collaborator, interactsh) в каждый сток для сценариев отложенного выполнения (админ-панели, просмотрщики логов и подобное)
  • Анализ DOM XSS — статическая проверка innerHTML, eval, document.write, location.href, jQuery .html() и других опасных стоков с обнаружением источников
  • Кодирование полезных нагрузок — URL, двойное URL, HTML-сущности, Unicode и base64/eval кодирование с составными флагами
  • Вывод в JSON — структурированные находки для интеграции с другими инструментами
  • Отчёт в Markdown — удобочитаемый отчёт со сводной таблицей серьёзности, разделами с деталями по каждой находке и таблицей быстрого доступа; готов к вставке в wiki или прикреплению к тикету
  • Чистый Rust/rustls — без зависимости от OpenSSL; единый почти статический бинарник

Установка

Из исходников (Nix)

git clone https://github.com/fabian-affolter/xssearch
cd xssearch
nix-shell --run "cargo build --release"
# binary: target/release/xssearch

Релизная сборка с LTO и удалёнными символами:

nix-shell --argstr release true --run "$BUILD"

Из исходников (стандартно)

Требуется Rust 1.75+.

cargo build --release

Nixpkgs

Для пользователей Nix или NixOS доступен пакет. Учтите, что последние релизы могут присутствовать только в канале unstable.

nix-env -iA nixos.xssearch

Использование

xssearch [OPTIONS] <--url <URL> | --file <URLS_FILE>>

Опции

ФлагОписание
-u, --url <URL>Целевой URL. Используйте FUZZ для отметки пользовательной точки инъекции
-f, --file <FILE>Файл с одним URL на строку
-d, --data <DATA>Тело POST. Используйте FUZZ для отметки точки инъекции
-H, --header <H>Дополнительный заголовок запроса, можно повторять
--cookie <COOKIE>Строка cookie
--proxy <URL>HTTP/HTTPS прокси
--timeout <N>Таймаут запроса в секундах (по умолчанию: 10)
--user-agent <UA>Пользовательский User-Agent
--follow-redirectsСледовать HTTP-редиректам
--threads <N>Параллельные запросы (по умолчанию: 2)
--delay <MS>Задержка между запросами в миллисекундах
--crawlОбход цели для поиска ссылок и форм
--crawl-depth <N>Глубина обхода (по умолчанию: 3)
--headers-injectТестировать распространённые HTTP-заголовки как точки инъекции
--cookie-injectТестировать значения cookie как точки инъекции
--blind <URL>URL callback для Blind XSS
--domСтатический анализ стоков DOM XSS
--fuzzЗапускать все полезные нагрузки независимо от контекста отражения
--payload-set <SET>all | html | js | attr | poly | dom | mxss | waf (по умолчанию: all)
--payloads-file <FILE>Пользовательский файл полезных нагрузок, по одной на строку
--encode <LIST>Кодирования через запятую: url,html,unicode,double,base64
--prefix <STR>Добавить строку в начало каждой полезной нагрузки
--suffix <STR>Добавить строку в конец каждой полезной нагрузки
--waf-detectОпределить WAF перед сканированием
--waf-bypassПрименить преобразования обхода WAF к полезным нагрузкам
--output-json <FILE>Записать находки в JSON-файл
--output-md <FILE>Записать находки в Markdown-файл
-v, --verboseПодробный вывод (показывать контекст, все проверки)
-V, --versionВывести версию и выйти

Примеры

Базовое сканирование GET-параметра

xssearch -u "https://example.com/search?q=test"

POST-форма

xssearch -u "https://example.com/login" -d "user=admin&pass=FUZZ"

Обход с корня, обнаружение WAF, тестирование заголовков

xssearch -u "https://example.com/" --crawl --waf-detect --headers-inject -v

Обход WAF с URL + HTML кодированием

xssearch -u "https://example.com/?q=FUZZ" --waf-detect --waf-bypass --encode url,html

Blind XSS с callback interactsh

xssearch -u "https://example.com/contact" -d "msg=FUZZ" \
  --blind "https://abc123.oast.fun/xssearch"

Только статический анализ DOM XSS

xssearch -u "https://example.com/app" --dom --no-banner

Сохранить результаты в JSON

xssearch -u "https://example.com/?q=test" --output-json results.json

Сохранить результаты в Markdown

xssearch -u "https://example.com/?q=test" --output-md report.md

Сохранить оба формата сразу

xssearch -f targets.txt --crawl --waf-detect --output-json results.json --output-md report.md

Прокси через Burp Suite

xssearch -u "https://example.com/?q=test" --proxy http://127.0.0.1:8080 -v

Тестирование

Локальная минимальная цель

Самый быстрый способ проверить инструмент — запустить локально намеренно уязвимый Python-сервер:

python3 - <<'EOF'
import http.server, urllib.parse

class H(http.server.BaseHTTPRequestHandler):
    def log_message(self, *a): pass
    def do_GET(self):
        p = urllib.parse.urlparse(self.path)
        q = urllib.parse.parse_qs(p.query)
        val = q.get('q', [''])[0]
        body = f'<html><body><p>Search: {val}</p></body></html>'.encode()
        self.send_response(200)
        self.send_header('Content-Type', 'text/html')
        self.end_headers()
        self.wfile.write(body)

http.server.HTTPServer(('127.0.0.1', 9999), H).serve_forever()
EOF

Затем просканируйте его:

xssearch -u "http://127.0.0.1:9999/?q=test" -v

Ожидаемый вывод: [Vuln] XSS in 'q' с полезной нагрузкой для HTML-контекста.

Локальные Docker-цели

Эти образы специально созданы для тестирования инструментов безопасности и не содержат реальных пользовательских данных.

DVWA (Damn Vulnerable Web Application)

docker run -d -p 8080:80 vulnerables/web-dvwa
# Set security level to Low in the UI first
xssearch -u "http://localhost:8080/vulnerabilities/xss_r/?name=test" \
  --cookie "PHPSESSID=<your-session>; security=low"

OWASP WebGoat

docker run -d -p 8081:8080 webgoat/goat-and-wolf
xssearch -u "http://localhost:8081/WebGoat/" --crawl --crawl-depth 2 -v

OWASP Juice Shop

docker run -d -p 3000:3000 bkimminich/juice-shop
xssearch -u "http://localhost:3000/" --crawl --dom -v

bWAPP

Скачать инструмент