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-11391 — WordPress PPOM per WooCommerce Plugin <= 33.0.15 è vulnerabile a SQL Injection | Kitploit
Strumenti/GitHubGitHub/r3db34rdh4x/cve-2025-11391
Analisi delle VulnerabilitàExploitSfruttamento di Applicazioni WebPaper e RicercaApprendimento e Formazione
GitHubr3db34rdh4x/cve-2025-11391

CVE-2025-11391

WordPress PPOM per WooCommerce Plugin <= 33.0.15 è vulnerabile a SQL Injection

Vedi Repository
1411 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

Iniezione SQL Cieca Non Autenticata in PPOM per WooCommerce <= 33.0.15

Questo repository contiene una Proof of Concept (PoC) per una vulnerabilità di iniezione SQL cieca basata sul tempo, non autenticata, nel plugin WordPress "PPOM for WooCommerce", che interessa le versioni fino alla 33.0.15 inclusa.

Dettagli della Vulnerabilità

  • Plugin: PPOM for WooCommerce
  • Versioni Affette: <= 33.0.15
  • Versione Corretta: 33.0.16
  • Tipo di Vulnerabilità: Iniezione SQL Cieca Basata sul Tempo Non Autenticata
  • ID CVE: CVE-2025-11391 (Assegnato a scopo di tracciamento)

Descrizione

La vulnerabilità esiste perché il plugin non riesce a sanificare correttamente l'input fornito dall'utente prima di utilizzarlo in una query SQL. Nello specifico, la funzione get_product_meta() in classes/plugin.class.php concatena direttamente il parametro $meta_id nella query SQL senza utilizzare istruzioni preparate.

Codice Vulnerabile (classes/plugin.class.php):

root@kitploit:~
function get_product_meta( $meta_id ) {
    // ...
    global $wpdb;
    $qry = 'SELECT * FROM ' . $wpdb->prefix . PPOM_TABLE_META . " WHERE productmeta_id = $meta_id";
    $res = $wpdb->get_row( $qry );
    return $res;
}

Un attaccante non autenticato può sfruttare questa vulnerabilità creando un payload dannoso e iniettandolo nel parametro ppom[fields][id] quando aggiunge un prodotto al carrello. Ciò consente all'attaccante di eseguire comandi SQL arbitrari, come funzioni di ritardo temporale (SLEEP()), permettendogli di confermare la vulnerabilità e potenzialmente esfiltrare informazioni sensibili dal database carattere per carattere.

La vulnerabilità viene attivata quando l'opzione "Abilita calcoli prezzo legacy" è attiva nelle impostazioni del plugin, poiché ciò forza l'applicazione a utilizzare il percorso di codice vulnerabile durante le operazioni sul carrello.

Struttura del Repository

root@kitploit:~
└── cve-2025-11391/
    ├── exploit.py                  # Lo script Python Proof of Concept.
    └── woocommerce-product-addon/  # Versione vulnerabile del plugin (v33.0.15).

Configurazione e Passaggi per la Riproduzione

1. Requisiti

  • Un ambiente server web locale (ad es., XAMPP, WAMP, MAMP).
  • Una nuova installazione di WordPress.
  • Il plugin WooCommerce installato e attivato.
  • Python 3.x con la libreria requests installata (pip install requests).

2. Configurazione del Laboratorio

  1. Avvia il tuo server web locale (Apache, MySQL).
  2. Installa WordPress in una directory (ad es., /htdocs/wp4hacking/).
  3. Installa e attiva il plugin WooCommerce dalla dashboard di WordPress.
  4. Installa la versione vulnerabile di woocommerce-product-addon (v33.0.15) fornita in questo repository caricando il file .zip dalla directory woocommerce-product-addon/.
  5. Attiva il plugin "PPOM for WooCommerce".

3. Configurazione Vulnerabile

  1. Nella dashboard di WordPress, vai su Campi PPOM > Impostazioni.
  2. Trova l'opzione "Abilita calcoli prezzo legacy" e spunta la casella per abilitarla.
  3. Salva le modifiche.
  4. Vai su Campi PPOM e crea un nuovo Gruppo di Campi (ad es., chiamalo "Gruppo PoC").
  5. All'interno di questo gruppo, aggiungi un campo Input di Testo. Assegnagli un titolo (ad es., "Iniezione SQL") e un nome dati (ad es., sql_injection).
  6. Vai su Prodotti > Aggiungi Nuovo per creare un nuovo prodotto WooCommerce.
  7. Assegna al prodotto un nome (ad es., "Prodotto di Test") e un prezzo.
  8. Nella pagina di modifica del prodotto, trova la scheda "Campi PPOM" e seleziona il "Gruppo PoC" che hai creato.
  9. Pubblica il prodotto. Annota l'ID del prodotto (ad es., 72).

Sfruttamento

Lo script exploit.py fornito conferma la vulnerabilità iniettando un comando SLEEP() e misurando il tempo di risposta del server.

Come Eseguire l'Exploit

  1. Apri il file exploit.py e configura le seguenti variabili:

    • PRODUCT_URL: L'URL completo della pagina del prodotto vulnerabile che hai creato.
    • add_to_cart_data['add-to-cart']: L'ID del tuo prodotto vulnerabile.
  2. Esegui lo script dal tuo terminale:

    root@kitploit:~
    python exploit.py
    

Output Atteso

Se il target è vulnerabile, il server impiegherà più tempo della durata di SLEEP() per rispondere, causando il timeout dello script. Lo script interpreta correttamente questo timeout come uno sfruttamento riuscito.

root@kitploit:~
Tentativo di PoC per Iniezione SQL (Metodo in un Passaggio)...
Assicurati che 'Abilita calcoli prezzo legacy' sia attivo.
[*] Invio del payload di Iniezione SQL...
   Richiesta scaduta dopo 10.00 secondi.

[+] SUCCESSO! 'Read timed out' si è verificato perché il payload SLEEP(7) è stato eseguito.
   Il sito è vulnerabile all'Iniezione SQL Cieca Basata sul Tempo.

Mitigazione

  • Aggiorna Immediatamente: Aggiorna il plugin "PPOM for WooCommerce" alla versione 33.0.16 o successiva.
  • Usa Istruzioni Preparate: La versione corretta utilizza $wpdb->prepare() per sanificare correttamente l'input, prevenendo l'iniezione SQL.

Codice Corretto (classes/plugin.class.php):

root@kitploit:~
$table = $wpdb->prefix . PPOM_TABLE_META;
$res   = $wpdb->get_row( $wpdb->prepare( "SELECT * FROM $table WHERE productmeta_id = %d", $meta_id ) );

Disclaimer

Questa PoC è intesa esclusivamente a scopo educativo e di ricerca. Non utilizzarla su alcun sistema di cui non sei proprietario o per il quale non hai esplicita autorizzazione a testare. L'autore non è responsabile per qualsiasi uso improprio o danno causato da questo script.

Scarica lo strumento