Wir verwenden git-shell
, um sicherzustellen, dass das Git-Konto nur für Git-Operationen verwendet wird. Das funktioniert großartig.
Aber bevor wir uns ganz auf git konzentrieren, wie richten wir es ähnlich wie github ein, wobei Sie abhängig von Ihrem öffentlichen Schlüssel nur Ihre eigenen Repositories einsetzen können?
Soweit ich das sagen kann, können die Github-Leute ihre eigene git-shell
rollen, die Quellcode scheint sehr einfach zu hacken
Ich benutze etwas Einfacheres, alles was Sie brauchen, ist drei Dateien zu erstellen, die authorized_keys
Datei, die gitsecurity.rb
Datei und eine Berechtigungsdatei gitpermissions
. Zur Vereinfachung können sie alle in den Git-Ordner .ssh gehen. (Grundlegende Unix-Admin-Fähigkeiten erforderlich, um hier zu verstehen)
Die Datei gitpermissions
sieht so aus und sollte ziemlich selbst erklärend sein:
Die Datei autorized_keys
sieht ungefähr so aus:
Zum Schluss das Skript gitsecurity.rb
, einfach kopieren und einfügen:
Dieses Skript ermöglicht es authentifizierten Benutzern, beliebigen Code als git-Benutzer auszuführen.
Beispiel Exploit: Ссылка Vorgeschlagener Fix: Ссылка
Beachten Sie, dass exec zwei Parameter erhält. Der erste ist der auszuführende Befehl (Konstante) und der zweite ist das Argument (das von der Shell nicht interpretiert wird).
Tags und Links git