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
Ferramentas/GitHubGitHub/moritakaaz/cve-2025-11391
Análise de VulnerabilidadesExploraçãoExploração de Aplicações WebSegurança WebTestes de PenetraçãoAprendizado e EducaçãoSegurança de Banco de Dados
GitHubmoritakaaz/cve-2025-11391

CVE-2025-11391

WordPress PPOM for WooCommerce Plugin <= 33.0.15 é vulnerável a SQL Injection

Ver Repositório
3há 10 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

Injeção SQL cega não autenticada no PPOM for WooCommerce <= 33.0.15

Este repositório contém uma Prova de Conceito (PoC) para uma vulnerabilidade de injeção SQL cega baseada em tempo e não autenticada no plugin WordPress "PPOM for WooCommerce", afetando versões até a 33.0.15 inclusive.

Detalhes da Vulnerabilidade

  • Plugin: PPOM for WooCommerce
  • Versões Afetadas: <= 33.0.15
  • Versão Corrigida: 33.0.16
  • Tipo de Vulnerabilidade: Injeção SQL Cega Baseada em Tempo sem Autenticação
  • ID do CVE: CVE-2025-11391 (Atribuído para fins de rastreamento)

Descrição

A vulnerabilidade existe porque o plugin não sanitiza adequadamente a entrada fornecida pelo usuário antes de usá-la em uma consulta SQL. Especificamente, a função get_product_meta() em classes/plugin.class.php concatena diretamente o parâmetro $meta_id na consulta SQL sem usar declarações preparadas.

Código Vulnerável (classes/plugin.class.php):

root@kitploit:~
function get_product_meta( $meta_id ) {
    // ...
    global $wpdb;
    $qry = 'SELECT * FROM ' . $wpdb->prefix . PPOM_TABLE_META . " WHERE productmeta_id = $meta_id";
    $res = $wpdb->get_row( $qry );
    return $res;
}

Um atacante não autenticado pode explorar isso criando um payload malicioso e injetando-o no parâmetro ppom[fields][id] ao adicionar um produto ao carrinho. Isso permite que o atacante execute comandos SQL arbitrários, como funções de atraso de tempo (SLEEP()), permitindo confirmar a vulnerabilidade e potencialmente exfiltrar informações sensíveis do banco de dados caractere por caractere.

A vulnerabilidade é acionada quando a opção "Enable Legacy Price Calculations" está ativa nas configurações do plugin, pois isso força o aplicativo a usar o caminho de código vulnerável durante as operações de carrinho.

Estrutura do Repositório

root@kitploit:~
└── cve-2025-11391/
    ├── exploit.py                  # The Python Proof of Concept script.
    └── woocommerce-product-addon/  # Vulnerable version of the plugin (v33.0.15).

Etapas de Configuração e Reprodução

1. Requisitos

  • Um ambiente de servidor web local (ex.: XAMPP, WAMP, MAMP).
  • Uma instalação nova do WordPress.
  • O plugin WooCommerce instalado e ativado.
  • Python 3.x com a biblioteca requests instalada (pip install requests).

2. Configuração do Laboratório

  1. Inicie seu servidor web local (Apache, MySQL).
  2. Instale o WordPress em um diretório (ex.: /htdocs/wp4hacking/).
  3. Instale e ative o plugin WooCommerce pelo painel do WordPress.
  4. Instale a versão vulnerável do woocommerce-product-addon (v33.0.15) fornecida neste repositório enviando o arquivo .zip do diretório woocommerce-product-addon/.
  5. Ative o plugin "PPOM for WooCommerce".

3. Configuração Vulnerável

  1. No painel do WordPress, vá em PPOM Fields > Settings.
  2. Encontre a opção "Enable Legacy Price Calculations" e marque a caixa para ativá-la.
  3. Salve as alterações.
  4. Vá em PPOM Fields e crie um novo Field Group (ex.: nomeie-o como "PoC Group").
  5. Dentro desse grupo, adicione um campo Text Input. Dê a ele um título (ex.: "SQL Injection") e um nome de dados (ex.: sql_injection).
  6. Vá em Products > Add New para criar um novo produto WooCommerce.
  7. Dê ao produto um nome (ex.: "Product Testing") e um preço.
  8. Na página de edição do produto, encontre a aba "PPOM Fields" e selecione o "PoC Group" que você criou.
  9. Publique o produto. Anote o ID do produto (ex.: 72).

Exploração

O script exploit.py fornecido confirma a vulnerabilidade injetando um comando SLEEP() e medindo o tempo de resposta do servidor.

Como Executar o Exploit

  1. Abra o arquivo exploit.py e configure as seguintes variáveis:

    • PRODUCT_URL: A URL completa da página do produto vulnerável que você criou.
    • add_to_cart_data['add-to-cart']: O ID do seu produto vulnerável.
  2. Execute o script no seu terminal:

    root@kitploit:~
    python exploit.py
    

Saída Esperada

Se o alvo for vulnerável, o servidor levará mais tempo do que a duração do SLEEP() para responder, fazendo com que o script atinja o tempo limite (timeout). O script interpreta corretamente esse timeout como uma exploração bem-sucedida.

root@kitploit:~
Attempting SQL Injection PoC (One-Step Method)...
Make sure 'Enable Legacy Price Calculations' is active.
[*] Sending SQL Injection payload...
   Request timed out after 10.00 seconds.

[+] SUCCESS! 'Read timed out' occurred because the SLEEP(7) payload was executed.
   The site is vulnerable to Time-Based Blind SQL Injection.

Mitigação

  • Atualize Imediatamente: Atualize o plugin "PPOM for WooCommerce" para a versão 33.0.16 ou posterior.
  • Use Declarações Preparadas: A versão corrigida usa $wpdb->prepare() para sanitizar adequadamente a entrada, prevenindo a injeção SQL.

Código Corrigido (classes/plugin.class.php):

root@kitploit:~
$table = $wpdb->prefix . PPOM_TABLE_META;
$res   = $wpdb->get_row( $wpdb->prepare( "SELECT * FROM $table WHERE productmeta_id = %d", $meta_id ) );

Isenção de Responsabilidade

Esta PoC destina-se apenas a fins educacionais e de pesquisa. Não a utilize em qualquer sistema que você não possua ou para o qual não tenha permissão explícita para testar. O autor não é responsável por qualquer uso indevido ou dano causado por este script.

Baixar ferramenta