wp2shell — Injection SQL aveugle basée sur le temps dans l'API REST WordPress → RCE (preuve de concept)
Description
poc_wp_tot.py est une preuve de concept (PoC) pour exploiter une vulnérabilité d'injection SQL aveugle basée sur le temps dans le point de terminaison batch de l'API REST WordPress, et enchaîner une escalade jusqu'à l'exécution de code à distance (RCE).
Vulnérabilités testées :
- CVE-2026-63030
- CVE-2026-60137
Avertissement important
- Utilisez cet outil UNIQUEMENT sur des systèmes que vous possédez ou pour lesquels vous disposez d'une autorisation écrite explicite de test. Toute utilisation abusive est potentiellement illégale et nuisible.
- Auteur : GhostGTR666 (github.com/gagaltotal)
- Version de la PoC : 1.0.0
Prérequis
- Python 3.8+ (recommandé)
- Connexion réseau à la cible WordPress
- Accès pour exécuter le script dans votre environnement de test
Installation
- Clonez ou copiez le fichier
poc_wp_tot.py dans votre répertoire de travail.
- (Facultatif) Créez un environnement virtuel :
python3 -m venv venv
source venv/bin/activate
Utilisation

Le script propose trois modes de fonctionnement : probe (détection), extract (récupération de données) et rce (exécution de commandes). Voici des exemples d'utilisation.
Probe (vérification de la vulnérabilité) :
python3 poc_wp_tot.py https://target.example.com/
python3 poc_wp_tot.py -v https://target.example.com/ "SELECT user_login FROM wp_users LIMIT 1"
RCE (exécution de commandes à distance — chaîne d'exploitation complète) :
python3 poc_wp_tot.py https://target.example.com/ -c "id && uname -a"
Options générales
-h, --help : Afficher le message d'aide
-v, --verbose: Activer la sortie verbeuse (débogage)
-c <COMMAND> : Mode RCE — exécuter une commande shell sur la cible
Résumé technique
- Le script exploite le point de terminaison batch de l'API REST WordPress pour injecter une charge utile SQL qui déclenche l'exécution de la fonction
SLEEP() sur le serveur cible comme condition booléenne (SQLi aveugle temporelle).
- Grâce à des techniques de sondage et d'extraction par recherche binaire sur les temps de réponse, le script peut extraire des chaînes et des entiers de la base de données.
- La chaîne d'exploitation ensemence (seed) des entrées oEmbed via la charge utile SQL, retrouve le cache de publication généré, construit un changeset malveillant, crée un nouveau compte administrateur et téléverse un plugin PHP exécuté pour parvenir à un RCE.
Risques et mesures d'atténuation
- Ce script peut apporter des modifications permanentes à une installation WordPress (par exemple, création de comptes, téléversement de plugins). Assurez-vous que les tests sont effectués dans un environnement contrôlé (labo) et que des sauvegardes sont disponibles.
- Mettez rapidement WordPress et ses plugins à jour vers les dernières versions, limitez l'accès à l'API REST si nécessaire, et utilisez une solution de pare-feu d'application web.
Notes du développeur
- L'implémentation et la logique principale se trouvent dans
poc_wp_tot.py.
- Pour comprendre le flux complet, consultez les fonctions
calibrate(), get_scalar() et exploit_rce() dans le script.
Licence et attribution
- Cette PoC est fournie telle quelle à des fins éducatives / de test de sécurité.
- Auteur original : GhostGTR666 — github.com/gagaltotal