


Gogs Analyse der Sicherheitslücke bei willkürlicher Benutzeranmeldung
1. Hintergrund der Sicherheitslücke
Gogs ist ein Open-Source-Datei-/Codeverwaltungssystem (basierend auf Git), das GitHub ähnelt. Das Ziel von Gogs ist es, den einfachsten, schnellsten und einfachsten Weg zum Aufbau eines Self-Service-Git-Dienstes zu schaffen. Gogs wurde in der Go-Sprache entwickelt, kann als eigenständige Binärdatei vertrieben werden und unterstützt alle von der Go-Sprache unterstützten Plattformen, einschließlich Linux-, Mac OS X-, Windows- und ARM-Plattformen.
2. Beschreibung der Schwachstelle
gogs ist eine Self-Service-Git-Service-Plattform, die einfach zu installieren, plattformübergreifend, leichtgewichtig usw. ist und viele Benutzer hat. In Version 0.11.66 und früheren Versionen überprüft (go-macaron/session-Bibliothek) die Sitzungs-ID nicht. Ein Angreifer kann eine böswillige Sitzungs-ID verwenden, um jede Datei zu lesen, den Sitzungsinhalt durch Kontrolle des Dateiinhalts zu kontrollieren und sich dann anzumelden jedes Konto.
3. Betroffene Versionen
Betroffene Versionen sind wie folgt:
Gogs 0.11.66 und frühere Versionen
4. Wiederauftreten der Sicherheitslücke
(1) Verwenden Sie Ubuntu Virtual Machine Docker, um die Gogs-Umgebung auf Vulhub zu klonen
(2 ) Führen Sie Start gogs mit dem folgenden Befehl aus: docker-compose up -d
(3) Nachdem die Umgebung gestartet wurde, besuchen Sie http://192.168.49.103:3000/install, um die Installationsseite anzuzeigen. Wählen Sie während der Installation die SQLite-Datenbank aus und aktivieren Sie die Registrierungsfunktion.
(4) Verwenden Sie die Gob-Serialisierung, um Sitzungsdateidaten zu generieren.
(5) Registrieren Sie dann ein normales Benutzerkonto, erstellen Sie ein Projekt und laden Sie die neu generierte Sitzungsdatei auf die Seite „Versionsfreigabe“ hoch.
(6) Über die URL dieses Anhangs können Sie den Dateinamen dieser Datei erfahren: ./attachments/2eb7f1a2-b5ec-482e-a297-15b625d24a10. Erstellen Sie dann Cookie: i_like_gogits=../attachments/2/e/2eb7f1a2-b5ec-482e-a297-15b625d24a10. Nach dem Zugriff können Sie den Benutzer finden, der sich erfolgreich mit der ID=1 angemeldet hat (d. h. Root-Administrator)
Fünf, Schwachstellenanalyse und -nutzung Mit der Erkundungsfunktion können wir die Benutzerinformationsseite eines Benutzers aufrufen und alle Informationen (UID, Benutzername) abrufen, die zum Erstellen der Sitzung des Benutzers erforderlich sind Im obigen Code haben wir festgestellt, dass die Sitzungsdatei Der Inhalt ist eine Gob-Codierung, basierend auf der von P Niu geschriebenen Sitzungsnutzlast.
Daraus können wir eine Sitzung generieren und über die für jeden Benutzer verfügbare Release-Upload-Funktion laden wir unsere gefälschte Sitzung auf den Server hoch.
Die Verzeichnisstruktur, in der Dateien in Gogs und Release standardmäßig gespeichert werden, ist attachments/fid[0]/fid[1]/fid. Die Verzeichnisstruktur, in der Sitzungen gespeichert werden, ist session/sid[0]/sid[1]/sid. Darüber hinaus werden die Sitzungs- und Anhangsordner im selben Datenordner gespeichert.
Da Gogs die Sitzung segmentieren und in den endgültigen Pfad konstruieren, bevor sie gelesen werden, ändern Sie die Sitzung in den Pfad der Datei, die wir gerade hochgeladen haben. Anhänge /1/7/17f4120b-1a0d-416a-b0b0-def4342ded5b, die Funktion, die die Sitzung liest, analysiert den Pfad zu session/././../attachments/1/7/17f4120b-1a0d-416a-b0b0-def4342ded5b , das ist Die von uns hochgeladene Datei schließt schließlich die Anmeldung jedes Benutzers ab.
6. Reparaturvorschläge
Das obige ist der detaillierte Inhalt vonGogs Analyse der Sicherheitslücke bei willkürlicher Benutzeranmeldung. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen

