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-2026-1056-POC — # Snow Monkey Forms <= 12.0.3 - Exclusão Arbitrária de Arquivos Não Autenticada via Path Traversal (CVE-2026-1056) | Kitploit
Ferramentas/GitHubGitHub/ch4r0nn/cve-2026-1056-poc
Análise de VulnerabilidadesExploraçãoExploração de Aplicações WebSegurança WebTestes de Penetração
GitHubch4r0nn/cve-2026-1056-poc

CVE-2026-1056-POC

# Snow Monkey Forms <= 12.0.3 - Exclusão Arbitrária de Arquivos Não Autenticada via Path Traversal (CVE-2026-1056)

Ver Repositório
6há 7 mesesAinda 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

CVE-2026-1056-POC

Snow Monkey Forms - PoC de Exclusão Arbitrária de Arquivos sem Autenticação

Este repositório contém uma Prova de Conceito (PoC) para uma vulnerabilidade crítica no plugin Snow Monkey Forms do WordPress (versões <= 12.0.3). A vulnerabilidade permite que um atacante não autenticado exclua arquivos arbitrários no servidor via Path Traversal.

Referência: Sarawut Poolkhet (MisterHelloz)

Detalhes da Vulnerabilidade

  • Tipo: Exclusão Arbitrária de Arquivos / Path Traversal
  • Componente: Snow_Monkey\Plugin\Forms\App\Rest\Route\View.php
  • Método: API REST (/wp-json/snow-monkey-form/v1/view)
  • Autenticação: Sem autenticação

Análise da Vulnerabilidade

1. Ponto de Entrada e Bypass de Lógica

A vulnerabilidade reside no manipulador da API REST localizado em Snow_Monkey\Plugin\Forms\App\Rest\Route\View.php. O método send() determina o fluxo com base nos parâmetros de entrada do usuário.

root@kitploit:~
// Arquivo: App/Rest/Route/View.php

public function send() {
    Csrf::save_token();
    $method = Meta::get_method(); // Obtido de $_POST['snow-monkey-forms-meta']['method']

    // VULNERABILIDADE: Se 'method' for 'input', a verificação crítica de CSRF é BYPASSADA.
    if ( 'input' === $method ) {
        return $this->_send(); // Fluxo de execução direto para _send()
    }

    // A verificação de CSRF é realizada apenas para outros métodos (ex.: 'confirm', 'complete')
    if ( ! Csrf::validate( Meta::get_token() ) ) { ... }

Ao fornecer input como parâmetro de método, um atacante força a aplicação a executar a função _send() imediatamente, ignorando o controle de segurança Csrf::validate() destinado a prevenir ações não autorizadas.

2. Injeção de Path Traversal

Dentro do método _send(), a aplicação tenta executar uma rotina de limpeza para diretórios temporários específicos do usuário. Essa rotina depende do parâmetro formid.

root@kitploit:~
// Arquivo: App/Rest/Route/View.php -> _send()

// 'form_id' é obtido diretamente dos dados POST via classe Meta sem sanitização
$user_dirpath = Directory::generate_user_dirpath( $this->setting->get( 'form_id' ), false );

Directory::do_empty( $user_dirpath, true ); // Exclui recursivamente o conteúdo
Directory::remove( $user_dirpath );         // Exclui o próprio diretório

A falha crítica reside em como Directory::generate_user_dirpath constrói o caminho:

root@kitploit:~
// Arquivo: App/Model/Directory.php

public static function generate_user_dirpath( $form_id, $do_create_directory = true ) {
    $saved_token = Csrf::saved_token();
    // ... (Verificação de regex para o token existe, mas não para form_id) ...

    $user_dir = path_join( static::get(), $saved_token );
    
    // VULNERABILIDADE: $form_id é anexado diretamente. 
    // O path_join() do WordPress NÃO resolve ou sanitiza sequências '../'.
    $user_dir = path_join( $user_dir, (string) $form_id ); 

    return $user_dir;
}

A variável $form_id é convertida para string, mas nunca é validada como um inteiro. Isso permite que um atacante injete caracteres de travessia de diretório (ex.: ../../../../).

Uso

  • Encontre a versão http://site-wordpress.com/wp-content/plugins/snow-monkey-forms/readme.txt

Pré-requisitos

  • Python 3.x
  • Biblioteca requests (pip install requests)

Comando

root@kitploit:~
python exploit.py -u <TARGET_URL> -f <TRAVERSAL_PAYLOAD>
CVE-2026-1056-POC
Baixar ferramenta