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-checker — RCE non authentifiée dans WordPress Core (CVE-2026-63030, CVE-2026-60137) | Kitploit
Outils/GitHubGitHub/0xjessie21/wp2shell-checker
Frameworks de Tests d'IntrusionScanners de VulnérabilitésExploitationSécurité WebSécurité Réseau
GitHub0xjessie21/wp2shell-checker

wp2shell-checker

RCE non authentifiée dans WordPress Core (CVE-2026-63030, CVE-2026-60137)

Voir le dépôt
112il 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 →
Partager
root@kitploit:~
__        ______ ____  ____  _   _ _____ _     _     
\ \      / /  _ \___ \/ ___|| | | | ____| |   | |    
 \ \ /\ / /| |_) |__) \___ \| |_| |  _| | |   | |    
  \ V  V / |  __// __/ ___) |  _  | |___| |___| |___ 
   \_/\_/  |_|  |_____|____/|_| |_|_____|_____|_____|

wp2shell-checker | Détecteur de désynchronisation de l'API Batch WordPress

Détecteur de la RCE avant authentification de l'API REST Batch du noyau de WordPress

Python Severity Mode License


Créé par 0xjessie21 — Cybersecurity ILCS


Aperçu

Signaturewp2shell / WP Core REST Batch API Desync
Sévérité9.8 CRITICAL — AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
Versions affectéesWordPress 6.9.0-6.9.4 et 7.0.0-7.0.1
Corrigé dans6.9.5, 7.0.2
PréconditionsAucune — non authentifié, aucun plugin, configuration par défaut
ModeNon destructif / sonde en lecture seule

Preuves

Capture d'écran de l'outil détectant une instance WordPress vulnérable lors d'un engagement VAPT interne autorisé.

Preuve


Avertissement — À lire avant utilisation

Cet outil est strictement réservé aux tests de sécurité autorisés et à la vérification défensive.

Utilisez uniquement contre des instances WordPress que vous possédez, ou pour lesquelles vous disposez d'une autorisation écrite explicite de test (par ex. un périmètre VAPT interne approuvé).
Cette sonde est conçue pour être non destructive — elle cible un ID de catégorie inexistant (0) et s'arrête au niveau de la couche de vérification des permissions ; aucune donnée n'est donc jamais créée, modifiée ou supprimée.
Ne modifiez pas la charge utile (par ex. remplacez l'ID de catégorie par un ID réel, ou pointez-la vers d'autres routes REST) pour tenter une exploitation réelle. Cela transformerait l'outil de détecteur en exploit armé — ce pour quoi il n'est explicitement pas conçu et qu'il ne prend pas en charge.
Ne publiez pas, ne redistribuez pas et n'exécutez pas cet outil contre des systèmes hors de votre périmètre autorisé. Une utilisation non autorisée contre des systèmes tiers peut violer la loi ITE (UU ITE) en Indonésie et les lois équivalentes sur les abus informatiques ailleurs.
Fourni en l'état, sans aucune garantie. L'auteur et toute organisation associée déclinent toute responsabilité en cas d'utilisation abusive, de dommages ou de conséquences juridiques découlant de l'utilisation de cet outil.

En utilisant cet outil, vous acceptez d'être seul responsable de la conformité de votre utilisation avec la loi applicable et les politiques d'autorisation de votre organisation.


Fonctionnement

L'API REST Batch du noyau de WordPress (/wp-json/batch/v1) maintient trois tableaux parallèles synchronisés lors de la résolution d'un lot de sous-requêtes. Une sous-requête volontairement malformée les désynchronise — ce qui entraîne l'envoi de chaque sous-requête suivante avec le mauvais gestionnaire et la mauvaise fonction de rappel de permissions.

Cet outil envoie une seule requête batch spécialement conçue et n'inspecte que les codes de réponse, sans jamais franchir le seuil d'une opération modifiant l'état.

#Sous-requêteObjectif
0POST http://:Volontairement malformée — déclenche la désynchronisation de l'index
1DELETE /wp/v2/categories/0Capteur sûr — l'ID de catégorie 0 n'existe jamais
2POST /wp/v2/block-renderer/core/paragraphGestionnaire de référence utilisé pour détecter la fuite

Logique de verdict

RésultatVerdict
block_cannot_readVULNÉRABLE — la vérification des permissions a fuité depuis le gestionnaire block-renderer
rest_term_invalidCORRIGÉ — le gestionnaire des catégories a répondu correctement
aucun marqueur trouvéNON CONCLUSIF — WAF, API désactivée, ou site non WordPress

De plus, l'outil effectue une prise d'empreinte passive WAF/CDN à partir des en-têtes de réponse :

Cloudflare · Sucuri · Akamai · AWS CloudFront · Imperva · Fastly · F5 BIG-IP · Wordfence


Utilisation

root@kitploit:~
# Analyse de base
./wp2shell_checker.py https://your-site.com

# Plusieurs cibles en une seule exécution
./wp2shell_checker.py https://site1.com https://site2.com https://site3.com

# Délai d'expiration personnalisé
./wp2shell_checker.py https://your-site.com --timeout 20

# Afficher la requête/réponse brute complète (charge utile, en-têtes, corps)
./wp2shell_checker.py https://your-site.com --raw

# Désactiver les couleurs/l'animation (pour journaliser dans un fichier)
./wp2shell_checker.py https://your-site.com --no-color > scan_report.txt

Toutes les options

OptionDescription
targetsUne ou plusieurs URL de base à analyser (obligatoire)
--timeout NDélai d'expiration des requêtes en secondes (défaut : 10)
--no-colorDésactive les couleurs ANSI et l'animation d'analyse
--rawAffiche la charge utile et les en-têtes bruts complets de la requête/réponse

Prérequis

  • Python 3.7+
  • Aucune dépendance externe — bibliothèque standard uniquement

Remédiation

Si une cible revient VULNÉRABLE :

  1. Mettez à jour WordPress immédiatement vers 7.0.2 (ou 6.9.5 sur la branche 6.9). Vérifiez que la mise à jour a bien été appliquée.
  2. Si une mise à jour immédiate n'est pas possible, appliquez une atténuation temporaire :
    • Installez le plugin Disable WP REST API pour bloquer l'accès REST non authentifié.
    • Bloquez /wp-json/batch/v1 et ?rest_route=/batch/v1 au niveau de votre WAF/pare-feu inverse — les deux formes doivent être bloquées.
    • Déployez un plugin must-use exigeant une authentification pour la route batch.
  3. Inventoriez chaque instance WordPress du périmètre — les sites de staging et de campagne sont ceux que l'on oublie.

Références

wp2shell.comvérificateur original et avis de sécurité, Searchlight Cyber
Hadrian Security — Analyse techniqueanalyse des causes racines

Licence

Ce projet est sous licence MIT — voir le fichier LICENSE pour plus de détails.


Cybersecurity ILCS · conçu pour un usage défensif interne

Visitors

Télécharger l’outil