Heim  >  Artikel  >  Betrieb und Instandhaltung  >  Gogs Analyse der Sicherheitslücke bei willkürlicher Benutzeranmeldung

Gogs Analyse der Sicherheitslücke bei willkürlicher Benutzeranmeldung

王林
王林nach vorne
2023-05-11 16:43:062308Durchsuche

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.

Gogs Analyse der Sicherheitslücke bei willkürlicher Benutzeranmeldung

Gogs Analyse der Sicherheitslücke bei willkürlicher Benutzeranmeldung

(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.

Gogs Analyse der Sicherheitslücke bei willkürlicher Benutzeranmeldung

(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. Gogs Analyse der Sicherheitslücke bei willkürlicher Benutzeranmeldung

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.

Gogs Analyse der Sicherheitslücke bei willkürlicher Benutzeranmeldung

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ägeGogs Analyse der Sicherheitslücke bei willkürlicher Benutzeranmeldung

Gogs kann von Github im Entwicklungszweig heruntergeladen und kompiliert werden. In diesem Zweig wurde diese Sicherheitslücke behoben, oder Sie können ein Upgrade auf die neueste Version von Gogs durchführen.

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!

Stellungnahme:
Dieser Artikel ist reproduziert unter:yisu.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen
Vorheriger Artikel:Was bedeutet Rebound-Shell?Nächster Artikel:Was bedeutet Rebound-Shell?