Skip to content
KitploitKITPLOIT
FerramentasExploitsBlog
Log in
Enviar
FerramentasExploitsBlog
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.

FeedsContatoPrivacidade© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
CVE-2026-63030 — CVE-2026-63030 - Prova de Conceito de Injeção SQL por Confusão de Rotas em Lote (Batch Route-Confusion) no WordPress REST | Kitploit
Ferramentas/GitHubGitHub/ch4120n/cve-2026-63030
Scanners de VulnerabilidadesExploraçãoSegurança WebTestes de PenetraçãoAprendizado e Educação
GitHubch4120n/cve-2026-63030

CVE-2026-63030

CVE-2026-63030 - Prova de Conceito de Injeção SQL por Confusão de Rotas em Lote (Batch Route-Confusion) no WordPress REST

Ver Repositório
242há 2 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-63030

Prova de Conceito de Injeção SQL por Confusão de Rota no REST Batch do WordPress (CVE-2026-63030)
Pesquisa, Desenvolvimento de Exploit e Documentação por Ch4120N

CVE Python License Status


⚠️ Aviso Legal

Este repositório e a ferramenta acompanhante (exploit.py) destinam-se estritamente a fins educacionais, testes de penetração autorizados e pesquisa em segurança.
Utilizar este exploit contra alvos sem consentimento explícito, prévio e por escrito é ilegal e viola as leis globais de fraude e abuso de computadores. O autor (Ch4120N) não assume absolutamente nenhuma responsabilidade por qualquer uso indevido, dano ou consequência legal decorrente do uso deste código. Sempre aja dentro dos limites da lei e obtenha a devida autorização.


📖 Visão Geral da Vulnerabilidade: CVE-2026-63030

CVE-2026-63030 é uma vulnerabilidade crítica e não autenticada que afeta a API REST do WordPress. Ela explora um bug de confusão de rota dentro do endpoint de processamento em lote aninhado (/wp-json/batch/v1 ou /?rest_route=/batch/v1).

A Causa Raiz

Quando o WordPress processa um lote de requisições da API REST, ele valida cada sub-requisição de acordo com seu esquema específico antes da execução. No entanto, devido a uma falha na forma como o ponteiro de roteamento interno lida com caminhos deliberadamente malformados (por exemplo, ///), o esquema de validação fica dessincronizado em relação ao manipulador de execução real.

A Cadeia de Ataque

  1. Confusão de Rota & SQLi: Um atacante injeta um payload em lote aninhado. A dessincronização faz com que uma requisição destinada ao endpoint /wp/v2/users (que não aceita author_exclude) seja executada pelo manipulador de /wp/v2/posts. O parâmetro author_exclude não sanitizado é passado diretamente para a cláusula author__not_in do WP_Query, resultando em Injeção SQL Não Autenticada.
  2. Criação de Administrador Pré-Autenticação: O SQLi é usado para ler o banco de dados e identificar IDs de posts oembed_cache. Em seguida, o exploit utiliza um payload de changeset do Customizer para envenenar o cache do menu de navegação, enganando o WordPress para executar uma requisição de criação de usuário sob o contexto de um administrador existente.
  3. Execução Remota de Código (RCE): Com uma conta de administrador recém-forjada, a ferramenta autentica, envia um plugin de webshell PHP aleatorizado e protegido por token, executa comandos do sistema operacional e remove todos os vestígios de forma segura.

Versões Afetadas

  • WordPress 6.9.0 até 6.9.4
  • WordPress 7.0.0 até 7.0.1 (Nota: Versões mais antigas podem ser vulneráveis dependendo de configurações específicas de plugins e backports da API REST).

🚀 Funcionalidades

  • Zero Dependências: 100% biblioteca padrão do Python 3. Nenhum pip install necessário.
  • Modular em Arquivo Único: Todos os componentes (Cliente, SQLi, Exploit, Shell, CLI) estão organizados de forma ordenada em um único script portátil (exploit.py).
  • Extração SQL Multi-Técnica: Recorre automaticamente aos métodos mais rápidos disponíveis:
    1. Baseado em UNION: Extração in-band forjando uma linha falsa de WP_Post (1 requisição por valor).
    2. Baseado em Erro: Aproveita erros XPATH de EXTRACTVALUE() se WP_DEBUG_DISPLAY estiver habilitado.
    3. Cego Booleano/Temporização: Extração de caracteres por busca binária com atrasos configuráveis.
  • Ponte Pré-Autenticação Automatizada: Não necessita de credenciais existentes; a ferramenta cria sua própria conta de administrador em tempo real.
  • Webshell Efêmero: Gera um slug de plugin único e um token criptograficamente seguro. O shell se recusa a executar sem o token e se autodestrói após o uso.
  • Limpeza Automática: Exclui automaticamente a conta de administrador forjada e remove o diretório do plugin webshell ao sair.
  • REPL Interativo: Fornece um pseudo-terminal que mantém o estado do diretório de trabalho remoto (suporte a cd).

📦 Instalação e Requisitos

Nenhum pacote de terceiros é necessário. Certifique-se de ter Python 3.8 ou superior instalado.

# Clone o repositório
git clone https://github.com/Ch4120N/CVE-2026-63030.git
cd CVE-2026-63030

# Torne o script executável
chmod +x exploit.py

# Verifique a versão do Python
python3 --version
# Executando o script
python3 exploit.py

💻 Uso Detalhado e Opções

O exploit é dividido em três subcomandos principais: check, read e shell.

Opções Globais

Estas opções se aplicam a todos os subcomandos:

OpçãoDescriçãoPadrão
urlURL base do alvo (ex.: http://target.com)Obrigatório
--rest-routeUse /?rest_route=/batch/v1 em vez de /wp-json/batch/v1 (para sites com permalinks desabilitados).False
--timeoutTempo limite da requisição HTTP em segundos.30.0
--proxyProxy HTTP/HTTPS (ex.: http://127.0.0.1:8080).None

1. check - Detecção de Vulnerabilidade

Sonda o alvo com segurança para confirmar a presença dos marcadores de confusão de rota e testa a temporização do SQLi sem extrair dados.

OpçãoDescriçãoPadrão
--sleepAtraso de temporização SQL (segundos) usado pelo fallback --confirm-sqli.3.0
--samplesNúmero de pares de temporização SQL de linha base/atrasada a testar.3
--confirm-sqliEnviar um payload ativo de confirmação de SQLi (adiciona um pequeno atraso).False

2. read - Extração de Banco de Dados

Extrai dados diretamente do banco de dados via injeção SQL.

OpçãoDescriçãoPadrão
--presetPredefinições de extração rápida: fingerprint (versão/usuário/bd) ou users (logins/hashes).fingerprint
--queryExecutar uma expressão SQL escalar personalizada (ex.: "SELECT @@version").None
--prefixPrefixo da tabela do banco de dados.wp_
--max-lengthNúmero máximo de caracteres a extrair por valor.128
--techniqueTécnica de extração: auto, union, error ou blind.auto

3. shell - Execução Remota de Código

Implanta o webshell e executa comandos. Se nenhuma credencial for fornecida, ele aciona automaticamente a ponte de criação de administrador pré-autenticação.

OpçãoDescriçãoPadrão
--userNome de usuário do administrador. (Omitir para usar a ponte pré-autenticação).None
--passwordSenha do administrador. (Omitir para usar a ponte pré-autenticação).None
--cmdComando único a ser executado no alvo.None
-i, --interactiveAbrir um shell interativo (REPL) após a implantação.False

🖥️ Evidências de Execução e Exemplos

Abaixo estão exemplos reais da ferramenta em ação.

Exemplo 1: Verificando Vulnerabilidade

$ python3 exploit.py check http://vulnerable-wordpress.local --confirm-sqli

[*] WordPress markers found (wp-content / wp-includes / wp-json)
[*] Public WordPress version hints:
    - 6.9.2 via REST API generator (exploit affected range) - WordPress 6.9.2
[!] A public version hint falls in the exploit affected range; verify internally or confirm with authorization.
[*] Batch probe -> HTTP 207; markers matched: parse_path_failed, block_cannot_read, rest_batch_not_allowed
[+] VULNERABLE — batch route-confusion behavior detected.
[*] Sending active SQLi confirmation payload...
[+] SQLi confirmed — UNION fake-post read returned data.
Baixar ferramenta