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-2022-1565 — Exploit di esecuzione remota di codice autenticato per il plugin WordPress WP All Import <= 3.6.7 (CVE-2022-1565). Carica file arbitrari tramite una convalida insicura del tipo di file in wp_all_import_get_gz.php. | Kitploit
Strumenti/GitHubGitHub/phanthibichtram12/cve-2022-1565
Analisi delle VulnerabilitàExploitSfruttamento di Applicazioni WebPenetration TestingRed TeamingSviluppo Payload
GitHubphanthibichtram12/cve-2022-1565

CVE-2022-1565

Exploit di esecuzione remota di codice autenticato per il plugin WordPress WP All Import <= 3.6.7 (CVE-2022-1565). Carica file arbitrari tramite una convalida insicura del tipo di file in wp_all_import_get_gz.php.

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
Vedi Repository
2 anni faNon ancora revisionato

Plugin WordPress WP All Import <= 3.6.7 - Esecuzione di codice da remoto (RCE) (Autenticato)

root@kitploit:~
Ngày: 05 tháng 11 năm 2023
Tác giả khai thác: Việt HÙng (https://github.com/phanthibichtram12)
Trang chủ của nhà cung cấp: https://www.wpallimport.com/
Link phần mềm: https://wordpress.org/plugins/wp-all-import/advanced/ (kéo xuống chọn phiên bản)
Phiên bản: <= 3.6.7 (đã thử nghiệm: 3.6.7)
Đã thử nghiệm trên: WordPress 6.1 (không phụ thuộc vào hệ điều hành vì việc khai thác này KHÔNG cung cấp tải trọng)
CVE: CVE-2022-1565

DESCRIZIONE DELLA VULNERABILITÀ

Il plugin WP All Import è vulnerabile a un caricamento arbitrario di file a causa di una mancata validazione del tipo di file tramite il file wp_all_import_get_gz.php nelle versioni fino alla 3.6.7 inclusa. Ciò consente a un utente malintenzionato autenticato, con privilegi di amministratore o superiori, di caricare file arbitrari sul server del sito interessato, il che può portare all'esecuzione di codice da remoto.

COME FUNZIONA LO SFRUTTAMENTO

1. Preparare il file zip:

  • crea un file PHP con il tuo payload (ad esempio, una shell inversa)
  • imposta la variabile payload_file_name con il nome di questo file (es. "shell.php")
  • crea un file zip contenente il payload
  • imposta la variabile zip_file_to_upload con il PERCORSO di questo file (es. "/root/shell.zip")

2. Accedi con un account amministratore:

  • imposta la variabile target_url con l'URL di base del target (NON terminare la stringa con una barra /)
  • imposta la variabile admin_user con il nome utente dell'account amministratore
  • imposta la variabile admin_pass con la password dell'account amministratore

3. Ottieni il wpnonce tramite il metodo get_wpnonce_upload_file()

  • in realtà ci sono 2 tipi di wpnonce:
  • il primo wpnonce sarà ottenuto con il metodo get_wpnonce_edit_settings() all'interno della classe PluginSetting. Questo wpnonce ci permette di modificare le impostazioni del plugin (vedi passo 4)
  • il secondo wpnonce sarà ottenuto con il metodo get_wpnonce_upload_file() all'interno della classe PluginSetting. Questo wpnonce ci permette di caricare il file

4. Controlla se la modalità di sicurezza del plugin è attiva tramite il metodo check_if_secure_mode_is_enabled() all'interno della classe PluginSetting

  • se la Modalità Sicura è attiva, il contenuto dello zip verrà inserito in una directory con nome casuale. Lo sfruttamento disabiliterà la Modalità Sicura. Disabilitando la Modalità Sicura, il contenuto dello zip verrà collocato nella directory principale (vedi variabile payload_url). Il metodo chiamato per attivare e disattivare la Modalità Sicura è set_plugin_secure_mode(set_to_enabled:bool, wpnonce:str)
  • se la Modalità Sicura NON è attiva, lo sfruttamento caricherà il file ma poi NON attiverà la Modalità Sicura.

5. Carica il file tramite il metodo upload_file(wpnonce_upload_file: str)

  • dopo il caricamento, il server risponderà con HTTP 200 OK ma ciò non significa che il caricamento sia stato completato con successo. La risposta conterrà un JSON simile a questo: {"jsonrpc":2.0","error":{"code":102,"message": Vui lòng xác minh rằng tệp bạn tải lên là tệp ZIP hợp lệ."},"is_valid":false,"id" :"nhận dạng"} Come puoi vedere, segnala un errore con codice 102, ma secondo i test che ho effettuato, il caricamento è stato completato.

6. Riattiva la Modalità Sicura se era attiva tramite il metodo switch_back_to_secure_mode()

7. Attiva il payload tramite il metodo activate_payload()

  • puoi definire tu stesso il metodo per attivare il payload. La ragione di questa scelta è che questo sfruttamento NON fornisce alcun payload. Poiché puoi usare un payload personalizzato, potresti volerlo attivare con una richiesta HTTP POST invece di una richiesta HTTP GET, oppure potresti voler passare parametri.

PERCHÉ LO SFRUTTAMENTO DISABILITA LA MODALITÀ SICURA?

Secondo il PoC di questa vulnerabilità fornito da WPSCAN, possiamo recuperare i file caricati accedendo alla "pagina delle importazioni gestite". Non so perché, ma dopo aver caricato qualsiasi file, non riuscivo a vedere il file caricato in quella pagina (forse è necessaria la versione Pro?). Ho dovuto trovare una soluzione alternativa e l'ho fatto sfruttando questa opzione.

Pagina WPSCAN: https://wpscan.com/vulnerability/578093db-a025-4148-8c4b-ec2df31743f7

AGGIORNAMENTO del 6 novembre 2022

Durante i test, ho notato che stavo caricando un file XML non valido e per questo non veniva visualizzato nella "pagina delle importazioni gestite"

In ogni caso, questo metodo di disabilitazione della modalità sicura è un po' più "invisibile" perché il contenuto caricato non viene mostrato nella pagina di amministrazione. Se vuoi vedere il file caricato nella pagina di amministrazione, sono necessari più passaggi.

CI SONO PROBLEMI CON LO SFRUTTAMENTO?

Affinché lo sfruttamento funzioni, considera quanto segue:

  1. controlla target_url e le credenziali dell'amministratore
  2. controlla il percorso del file zip e il nome del payload (possono essere diversi)
  3. se stai testando in locale, prova a impostare verify_ssl_certificate su False
  4. puoi usare print_response(http_response) per ulteriori indagini
Scarica lo strumento