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/dottak/cve-2025-22710
Análise de VulnerabilidadesAnálise de CódigoExploraçãoExploração de Aplicações WebTestes de Penetração
GitHubdottak/cve-2025-22710

CVE-2025-22710

PoC do CVE-2025-22710

Ver Repositório
23há 1 anoAinda 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-2025-22710

1️⃣ Tipo de componente

Plugin WordPress

2️⃣ Detalhes do componente

Nome do componente WooCommerce Advanced Bulk Edit Products, Orders, Coupons, Any WordPress Post Type – Smart Manager

Versão vulnerável <= 8.50.0

Slug do componente smart-manager-for-wp-e-commerce

Link do componente https://wordpress.org/plugins/smart-manager-for-wp-e-commerce/

3️⃣ OWASP 2017: TOP 10

Classe de vulnerabilidade A3: Injeção

Tipo de vulnerabilidade Injeção SQL

4️⃣ Pré-requisito

Baixar ferramenta

Administrador

5️⃣ Detalhes da vulnerabilidade

👉 Descrição resumida

O plugin WooCommerce Advanced Bulk Edit Products, Orders, Coupons, Any WordPress Post Type – Smart Manager (doravante Smart Manager) é um plugin que permite a edição em massa e a visualização de todos os tipos de post no WordPress.

Na versão 8.50.0 e anteriores do plugin Smart Manager, ao utilizar a função de pesquisa avançada para visualizar posts, ocorre uma vulnerabilidade de Injeção SQL porque os valores de filtragem são passados para as consultas ao banco de dados sem processamento de escape.

No entanto, embora os resultados diretos de ataques de Injeção SQL não possam ser vistos na tela, a Injeção SQL Cega é possível através de diferenças nos valores de resposta com base em condições verdadeiro/falso.

👉 Como reproduzir (PoC)

⚠️ Pelo menos um post deve existir para observar a diferença nos valores de resposta com base em condições verdadeiro/falso.

  1. Prepare um site WordPress com o plugin Smart Manager instalado, faça login com uma conta de administrador e navegue até a página do painel do plugin Smart Manager (/wp-admin/admin.php?page=smart-manager).

image

  1. Clique na caixa de seleção 'Pesquisa Avançada' no lado direito da barra de pesquisa para abrir a janela de pesquisa avançada.

image

  1. Na filtragem da pesquisa avançada, selecione 'Título do Post' e 'is', em seguida, digite o payload ' OR 1=1 )) # no formulário de entrada de texto. Depois disso, clique no botão de pesquisa no topo.

image

  1. Ao verificar os resultados da pesquisa, como a condição do payload é sempre verdadeira (OR 1=1), todos os posts são recuperados.

image

  1. Por outro lado, se você selecionar 'Título do Post' e 'is' na filtragem da pesquisa avançada e digitar ' OR 1=2 )) # no formulário de entrada de texto, nenhum post será recuperado porque a condição é sempre falsa (OR 1=2).

image

image

👉 Informações adicionais (opcional)

[Causa da Vulnerabilidade]

Ao executar a função 'Pesquisa Avançada' solicitada na descrição do PoC acima, o seguinte pacote é gerado, e os valores de filtragem (Título do Post, is, ' OR 1=1 )) #) inseridos na pesquisa avançada são colocados nos dados da requisição advanced_search_query.

root@kitploit:~
advanced_search_query=[{"condition":"OR","rules":[{"condition":"AND","rules":[{"type":"wp_posts.post_title","operator":"is","value":"' OR 1=1 )) #"}]}]}]

image

Quando este pacote é solicitado, a função get_data_model no arquivo /wp-content/plugins/smart-manager-for-wp-e-commerce/classes/class-smart-manager-base.php é chamada e realiza consultas ao banco de dados na seguinte ordem.

  1. Se os dados da requisição advanced_search_query existirem, ela chama a função process_search_cond. Neste momento, os dados da requisição advanced_search_query são passados para o valor com a chave search_query no argumento do par chave-valor.

    root@kitploit:~
    search_query=[{"condition":"OR","rules":[{"condition":"AND","rules":[{"type":"wp_posts.post_title","operator":"is","value":"' OR 1=1 )) #"}]}]}]
    

    image

  2. A função chamada process_search_cond itera pelo valor com a chave search_query, inicializa o valor de filtragem Título do Post (post_title) na variável $search_col, e inicializa o valor de filtragem ' OR 1=1 )) # contendo o payload de Injeção SQL na variável $search_value.

    image

  3. As variáveis $search_col e $search_value são passadas para as chaves search_col (=post_title) e search_value (=' OR 1=1 )) #) do array $search_params, respectivamente. Posteriormente, esta variável $search_params é passada como um valor com a chave search_params para a função create_flat_table_search_query.

    image

  4. Em seguida, a função create_flat_table_search_query define a cláusula WHERE da consulta SQL, e neste ponto, o search_value (=' OR 1=1 )) #) da chave search_params passado como argumento é incluído na cláusula WHERE sem qualquer processamento de escape.

    image

  5. Então, o valor de retorno da função create_flat_table_search_query (contendo o payload de Injeção SQL) é passado como argumento para a função process_flat_table_search_query.

    image

  6. A função process_flat_table_search_query constrói uma consulta ao banco de dados usando o argumento recebido, inicializando as variáveis $select, $from e $where. Aqui, podemos ver que o payload de Injeção SQL é passado diretamente para a variável $where sem qualquer validação.

    image

  7. As variáveis $select, $from, $where são diretamente atribuídas à variável $query_posts_search, e esta variável é, por fim, passada como argumento para a função que executa a consulta ao banco de dados.

    image

Na função de pesquisa avançada, a entrada do usuário (' OR 1=1 )) #) é incluída diretamente na consulta ao banco de dados sem processamento de escape, resultando em uma vulnerabilidade de Injeção SQL. Esta vulnerabilidade permite que atacantes executem consultas SQL arbitrárias, potencialmente levando a sérios riscos de segurança, como vazamento ou manipulação de informações sensíveis do banco de dados.

[Implementação e Execução do Código PoC]

⚠️ O código PoC implementado consulta o nome do banco de dados explorando a vulnerabilidade de Injeção SQL.

  1. Abra o código PoC em um editor e insira o endereço do site WordPress e as credenciais do administrador.

    image

  2. Em seguida, digite o seguinte comando para executar o código PoC.

    Módulo necessário requests

    root@kitploit:~
    python poc.py
    

    image

6️⃣ Demonstração do Exploit

video

7️⃣ Referências

  • https://nvd.nist.gov/vuln/detail/CVE-2025-22710