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-22710 — PoC di CVE-2025-22710 | Kitploit
Strumenti/GitHubGitHub/dottak/cve-2025-22710
Analisi delle VulnerabilitàAnalisi del CodiceExploitSfruttamento di Applicazioni WebPenetration Testing
GitHubdottak/cve-2025-22710

CVE-2025-22710

PoC di CVE-2025-22710

Vedi Repository
21 anno 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

CVE-2025-22710

1️⃣ Tipo di componente

Plugin WordPress

2️⃣ Dettagli del componente

Nome del componente WooCommerce Advanced Bulk Edit Products, Orders, Coupons, Any WordPress Post Type – Smart Manager

Versione vulnerabile <= 8.50.0

Slug del componente smart-manager-for-wp-e-commerce

Link del componente https://wordpress.org/plugins/smart-manager-for-wp-e-commerce/

3️⃣ OWASP 2017: TOP 10

Classe di vulnerabilità A3: Injection

Tipo di vulnerabilità SQL Injection

4️⃣ Prerequisito

Amministratore

5️⃣ Dettagli della vulnerabilità

👉 Breve descrizione

Il plugin WooCommerce Advanced Bulk Edit Products, Orders, Coupons, Any WordPress Post Type – Smart Manager (di seguito Smart Manager) è un plugin che consente la modifica in massa e la visualizzazione di tutti i tipi di post in WordPress.

Nella versione 8.50.0 e precedenti del plugin Smart Manager, quando si utilizza la funzione di ricerca avanzata per visualizzare i post, si verifica una vulnerabilità di SQL Injection perché i valori di filtro vengono passati alle query del database senza elaborazione di escape.

Tuttavia, mentre i risultati diretti degli attacchi di SQL Injection non sono visibili sullo schermo, è possibile eseguire Blind SQL Injection sfruttando le differenze nei valori di risposta in base a condizioni true/false.

👉 Come riprodurre (PoC)

⚠️ Almeno un post deve esistere per osservare la differenza nei valori di risposta in base alle condizioni true/false.

  1. Preparare un sito WordPress con il plugin Smart Manager installato, accedere con un account amministratore e navigare alla pagina dashboard del plugin Smart Manager (/wp-admin/admin.php?page=smart-manager).

image

  1. Fare clic sulla casella di controllo 'Advanced Search' sul lato destro della barra di ricerca per aprire la finestra di ricerca avanzata.

image

  1. Nel filtro di ricerca avanzata, selezionare 'Post Title' e 'is', quindi inserire il payload ' OR 1=1 )) # nel campo di input di testo. Successivamente, fare clic sul pulsante di ricerca in alto.

image

  1. Controllando i risultati della ricerca, poiché la condizione del payload è sempre vera (OR 1=1), vengono recuperati tutti i post.

image

  1. D'altra parte, se si selezionano 'Post Title' e 'is' nel filtro di ricerca avanzata e si inserisce ' OR 1=2 )) # nel campo di input di testo, non verrà recuperato alcun post perché la condizione è sempre falsa (OR 1=2).

image

image

👉 Informazioni aggiuntive (opzionale)

[Causa della vulnerabilità]

Quando si esegue la funzione 'Advanced Search' richiesta nella descrizione del PoC sopra, viene generato il seguente pacchetto e i valori di filtro (Post Title, is, ' OR 1=1 )) #) inseriti nella ricerca avanzata vengono immessi nei dati della richiesta advanced_search_query.

root@kitploit:~
advanced_search_query=[{"condition":"OR","rules":[{"condition":"AND","rules":[{"type":"wp_posts.post_title","operator":"is","value":"' OR 1=1 )) #"}]}]}]

image

Quando questo pacchetto viene richiesto, viene chiamata la funzione get_data_model nel file /wp-content/plugins/smart-manager-for-wp-e-commerce/classes/class-smart-manager-base.php, che esegue query al database nel seguente ordine.

  1. Se i dati della richiesta advanced_search_query esistono, viene chiamata la funzione process_search_cond. In questo momento, i dati della richiesta advanced_search_query vengono passati al valore con chiave search_query nell'argomento coppia chiave-valore.

    root@kitploit:~
    search_query=[{"condition":"OR","rules":[{"condition":"AND","rules":[{"type":"wp_posts.post_title","operator":"is","value":"' OR 1=1 )) #"}]}]}]
    

    image

  2. La funzione chiamata process_search_cond itera sul valore con chiave search_query, inizializza il valore di filtro Post Title (post_tile) nella variabile $search_col e inizializza il valore di filtro ' OR 1=1 )) # contenente il payload di SQL Injection nella variabile $search_value.

Nella funzione di ricerca avanzata, l'input dell'utente (' OR 1=1 )) #) viene incluso direttamente nella query del database senza elaborazione di escape, causando una vulnerabilità di SQL Injection. Questa vulnerabilità consente agli attaccanti di eseguire query SQL arbitrarie, portando potenzialmente a seri rischi per la sicurezza come la divulgazione o la manipolazione di informazioni sensibili dal database.

[Implementazione ed esecuzione del codice PoC]

⚠️ L'implementazione del codice PoC interroga il nome del database sfruttando la vulnerabilità di SQL Injection.

  1. Aprire il codice PoC in un editor e inserire l'indirizzo del sito WordPress e le credenziali dell'amministratore.

    image

  2. Quindi inserire il seguente comando per eseguire il codice PoC.

    Modulo richiestorequests

    root@kitploit:~
    python poc.py
    

    image

6️⃣ Demo dell'exploit

video

7️⃣ Riferimenti

  • https://nvd.nist.gov/vuln/detail/CVE-2025-22710
Scarica lo strumento

image

  • Le variabili $search_col e $search_value vengono passate rispettivamente alle chiavi search_col (=post_title) e search_value (=' OR 1=1 )) #) dell'array $search_params. Successivamente, questa variabile $search_params viene passata come valore con chiave search_params alla funzione create_flat_table_search_query.

    image

  • Successivamente, la funzione create_flat_table_search_query definisce la clausola WHERE della query SQL e, a questo punto, il search_value (=' OR 1=1 )) #) della chiave search_params passato come argomento viene incluso nella clausola WHERE senza alcuna elaborazione di escape.

    image

  • Quindi, il valore di ritorno della funzione create_flat_table_search_query (contenente il payload di SQL Injection) viene passato come argomento alla funzione process_flat_table_search_query.

    image

  • La funzione process_flat_table_search_query costruisce una query al database utilizzando l'argomento ricevuto, inizializzando le variabili $select, $from e $where. Qui possiamo vedere che il payload di SQL Injection viene passato direttamente alla variabile $where senza alcuna validazione.

    image

  • Le variabili $select, $from, $where vengono assegnate direttamente alla variabile $query_posts_search e questa variabile viene infine passata come argomento alla funzione che esegue la query al database.

    image