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
gitlab-rce-demo — Eigenständige Demo für GitLab RCE, die zwei Ruby-Speicherkorruptionsfehler im Oj-Parser über das Rendering von Notebook-Diffs ausnutzt. | Kitploit
Tools/GitHubGitHub/wupco/gitlab-rce-demo
ExploitationWebanwendungs-ExploitationBinary-ExploitationLabs & Praxis
GitHubwupco/gitlab-rce-demo

gitlab-rce-demo

Eigenständige Demo für GitLab RCE, die zwei Ruby-Speicherkorruptionsfehler im Oj-Parser über das Rendering von Notebook-Diffs ausnutzt.

Repository anzeigen
94221vor 26 TagenVon 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

GitLab Oj RCE Demo

Dieses Repository enthält eine in sich geschlossene Demo für die in unserer Forschung beschriebene notebook-diff-RCE-Kette für GitLab. Es startet einen frischen GitLab-18.11.3-Container, erstellt über die öffentliche HTTP-Schnittstelle einen normalen Benutzer und führt den PoC gegen diese Instanz aus.

Technische Details: Going depthfirst: Erreichen von GitLab-RCE über zwei Ruby-Speicherkorruptions-Schwachstellen

Voraussetzungen

  • Linux auf x86-64 (amd64)
  • Docker Engine mit Docker Compose v2
  • Bash, Python 3, curl, Git, iproute2 und netcat

Demo ausführen

Erstellen Sie zuerst eine frische GitLab-Umgebung:

root@kitploit:~
./setup_env.sh

Dies entfernt den vorherigen Demo-Container und seine Volumes, startet GitLab, wartet, bis es bereit ist, und richtet einen normalen Benutzer ein. Ein frischer GitLab-Start kann mehrere Minuten dauern.

Öffnen Sie zwei Terminals. Starten Sie den Callback-Listener im ersten:

root@kitploit:~
./run_poc.sh listen 4555

Führen Sie den Exploit im zweiten aus:

root@kitploit:~
./run_poc.sh exploit 4555

Wenn der Callback eintrifft, wechseln Sie zum Listener-Terminal und führen Sie Befehle wie id oder whoami aus. Die ASLR-Suchzeit variiert von Lauf zu Lauf.

Erfolgreicher Demo-Lauf

So funktioniert es

GitLab rendert Jupyter-Notebook-Diffs, indem es vom Repository kontrolliertes JSON an Oj übergibt, einen nativen Ruby-JSON-Parser. Die Kette kombiniert zwei Parser-Bugs: Einer korrumpiert den Parser-Zustand und kontrolliert schließlich einen Callback-Pointer, während der andere einen Heap-Pointer offenlegt, der genutzt wird, um die ASLR-Suche einzugrenzen. Der PoC lädt eine vorberechnete Nachschlagetabelle, ermittelt das passende Bibliothekslayout über normale GitLab-HTTP-Anfragen und bringt den Puma-Worker dazu, als Benutzer git eine Rückverbindung zum Listener herzustellen.

Verwenden Sie diese Demo ausschließlich in der enthaltenen lokalen Laborumgebung.

Tool herunterladen