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
Tools/GitHubGitHub/nihal1306/gogs
SchwachstellenanalyseWebanwendungs-ExploitationPenetrationstestsFehlkonfigurationLernen & BildungDatenbanksicherheitLabs & Praxis
GitHubnihal1306/gogs

gogs

CVE-2014-8682

Repository anzeigen
vor 7 JahrenNoch nicht geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

gogs

Hier richten wir unser Labor in unserer SEED Ubuntu 16.04 VM ein und wir müssen zuerst den Go Git Service (GOGS) auf unserer VM installieren, bevor wir zur Ausnutzung der SQL-Injection-Sicherheitslücke übergehen können. Zum Einrichten der VM sind folgende Schritte erforderlich:

Schritt 1: Datenbank installieren Sobald wir uns am System angemeldet haben, sollten wir den folgenden Befehl ausführen, um sicherzustellen, dass unsere Bibliotheken und Repos aktualisiert sind: $ sudo apt-get -y update

Wir verwenden im Backend einen MySQL-Server und müssen diesen daher auf unserer VM installieren, was wir mit folgendem Befehl tun können: $ sudo apt-get – y install mysql-server

Während der Installation der Datenbank fordert das System zur Eingabe eines Root-Benutzerpassworts für die Datenbank auf. Nun erstellen wir eine Datei mit dem Namen gogs.sql. Wir haben nano verwendet, aber jeder Datei-Editor funktioniert.

Anschließend fügen wir die folgenden SQL-Anweisungen in die Datei gogs.sql ein und speichern sie. DROP DATABASE IF EXISTS gogs; CREATE DATABASE IF NOT EXISTS gogs CHARACTER SET utf8 COLLATE utf8_general_ci;

Nun führen wir die Datei gogs.sql mit MySQL aus, um die GOGS-Datenbank mit dem Befehl zu erstellen: $ mysql – u root -p < gogs.sql

Wir werden dann nach dem Root-Passwort gefragt, das wir während der Datenbankinstallation erstellt haben, geben es ein und können die GOGS-Datenbank erfolgreich erstellen.

Um GOGS aus dem Quellcode zu installieren, benötigen wir Versionskontrolltools wie Git und Mercurial. Um diese auf unserer VM zu installieren, verwenden wir den folgenden Befehl: $ sudo apt-get -y install mercurial git

Schritt 2: Go installieren GOGS ist in der Programmiersprache Go geschrieben, daher müssen wir Go vor der Kompilierung von GOGS installieren.

Zunächst müssen wir einige Umgebungsvariablen setzen. Dazu bearbeiten wir die Datei ~/.bashrc und fügen die folgenden Zeilen hinzu und speichern die Datei: export GOPATH=/home/git/go export GOROOT=/usr/local/src/go export PATH=${PATH}:$GOROOT/bin

Um sicherzustellen, dass unsere Änderungen erfolgreich übernommen wurden, führen wir den folgenden Befehl aus: $ source ~/.bashrc

Nun verwenden wir den Befehl wget, um eine der kompilierten Versionen von Go zu installieren. Der Befehl lautet wie folgt: $ wget https://storage.googleapis.com/golang/go1.4.2.linux-amd64.tar.gz

Dann entpacken wir es mit folgendem Befehl: $ tar zxf go1.4.2.linux-amd64.tar.gz

Sobald unsere Datei entpackt ist, wechseln wir in das in ~/.bashrc definierte Arbeitsverzeichnis $GOROOT. Der Befehl dafür lautet: $ sudo mv go $GOROOT

Nun überprüfen wir die Installation von Go auf unserer VM mit dem Befehl: $ go

Um auf den Gogs-Ordner mit allen erforderlichen Dokumenten zuzugreifen, klonen Sie einfach das Gogs-Repository in den Pfad $GOPATH/src/github.com/gogits/gogs. Dies kann mit folgendem Befehl erfolgen: $ cd $GOPATH/src/github.com/gogits/gogs

Nun installieren wir Supervisor, um den Gogs-Dienst zu verwalten. Dazu verwenden wir den Befehl: $ sudo apt-get -y install supervisor

Nachdem Supervisor auf unserer VM installiert ist, erstellen wir einen Gogs-Daemon, indem wir einen Supervisor-Konfigurationsabschnitt erstellen. Dazu müssen wir zunächst einen Speicherort für die Logdateien festlegen. Der Speicherort der Logdateien ist /var/log/gogs. Der Befehl dafür lautet: $ sudo mkdir -p /var/log/gogs

Mit einem definierten Speicherort für die Logs bearbeiten wir die Supervisor-Konfigurationsdatei, die sich unter /etc/supervisor/supervisord.conf befindet. Der Befehl dafür lautet: $ sudo nano /etc/supervisor/supervisord.conf

Wir fügen den folgenden Inhalt an die Datei an, um den Gogs-Abschnitt zu erstellen:

[program:gogs] directory=/home/git/go/src/github.com/gogits/gogs/ command=/home/git/go/src/github.com/gogits/gogs/gogs web autostart=true autorestart=true startsecs=10 stdout_logfile=/var/log/gogs/stdout.log stdout_logfile_maxbytes=1MB stdout_logfile_backups=10 stdout_capture_maxbytes=1MB stderr_logfile=/var/log/gogs/stderr.log stderr_logfile_maxbytes=1MB stderr_logfile_backups=10 stderr_capture_maxbytes=1MB environment = HOME="/home/git", USER="git" user = git

Der obige Code definiert die Befehle, die wir ausführen möchten, um Gogs zu starten, Supervisor zu starten, den Speicherort der Logdateien und die entsprechenden Umgebungsvariablen. Nun starten wir Supervisor neu, damit unsere Änderungen wirksam werden. Dazu verwenden wir den Befehl: $ sudo service supervisor restart

Um zu überprüfen, ob Gogs tatsächlich läuft, verwenden wir den folgenden Befehl: $ ps -ef | grep gogs Der Befehl ps zeigt Informationen über die aktiven Prozesse an, und wir durchsuchen diese Ergebnisse mit grep, um Informationen über Gogs zu erhalten.

Eine andere Methode, um zu überprüfen, ob der Server läuft, ist die Überprüfung der stdout.log-Datei mit dem Befehl: $ tail /var/log/gogs/stdout.log

Nun können wir sogar die Webseite besuchen, die die Installationsseite anzeigt. Die URL dafür lautet: http://10.0.2.15:3000

Schritt 4: Nginx als Reverse Proxy einrichten Zunächst müssen wir Nginx installieren, was wir mit folgendem Befehl tun: $ sudo apt-get -y install nginx

Nun erstellen wir eine Nginx-Konfigurationsdatei für Gogs, die sich unter etc/nginx/sites-available/gogs befindet. Wir fügen den folgenden Code in die Datei ein:

server { listen 80; server_name "HIER IP-ADRESSE EINFÜGEN!!!";

root@kitploit:~
proxy_set_header X-Real-IP  $remote_addr; # Original-Client-IP weitergeben

location / {
    proxy_pass http://localhost:3000;
}

} Wir müssen auch einen symbolischen Link erstellen, damit Nginx auf die Datei zugreifen kann. Der symbolische Link wird zwischen /etc/nginx/sites-available/gogs und /etc/nginx/sites-enabled/gogs erstellt. Wir können den symbolischen Link mit folgendem Befehl erstellen:

$ sudo ln -s /etc/nginx/sites-available/gogs /etc/nginx/sites-enabled/gogs Schließlich müssen wir den Nginx-Dienst neu starten, um die virtuellen Host-Konfigurationen zu aktivieren. Der Befehl zum Neustart lautet: $ sudo service nginx restart

Nun können wir die zuvor verwendete URL ohne Portnummer besuchen. Die URL lautet: http://10.0.2.15

Schritt 5: Gogs initialisieren Bevor wir Gogs initialisieren können, müssen wir auf der Webseite des Servers (deren URL lautet: http://10.0.2.15/install) bestimmte Informationen ausfüllen.

Im ersten Abschnitt füllen wir Informationen zur Datenbank aus, in unserem Fall MySQL. Die Felder sind wie folgt:

Database Type: MySQL Host: 127.0.0.1:3306 User: root Password: seedubuntu Database Name: gogs

Im zweiten Abschnitt füllen wir die allgemeinen Einstellungen von Gogs aus. Die Felder dafür sind: Repository Root Path: /home/git/gogs-repositories Run User: git Domain: 10.0.2.15 HTTP Port: 300 Application URL: http://10.0.2.15:3000

Dann ändern wir den Admin-Benutzernamen und das Passwort unter Admin Account Settings.

Nun klicken wir auf "Install Gogs" und melden uns an.

Schritt 6: Gogs testen Um sicherzustellen, dass Gogs wie vorgesehen funktioniert, führen wir einen einfachen Pull/Push-Test durch. Zuerst gehen wir zur URL http://10.0.2.15/repo/create und erstellen ein Repository mit dem Namen my-test-repo.

Nachdem alle erforderlichen Informationen ausgefüllt sind, können wir mit der Erstellung des Repositories fortfahren, indem wir auf die grüne Schaltfläche "Create Repository" klicken.

Nun können wir dieses Repository auch mit dem Befehl klonen: $ git clone http://10.0.2.15//my-test-repo.git

Wir wechseln dann zum Speicherort des Repositories auf unserer VM und aktualisieren die Datei README.md. Schließlich committen wir alle Änderungen und pushen sie mit dem Befehl: $ git add –-all && git commit -m "init command" && git push origin master

Unser Repository wurde erfolgreich erstellt. Wenn wir nun die URL http://10.0.2.15/iammuskaan/my-test-repo besuchen, können wir unseren Inhalt sehen, der an die README.md-Datei angehängt wurde.

Tool herunterladen