Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
gogs — CVE-2014-8682 | Kitploit
Outils/GitHubGitHub/nihal1306/gogs
Vulnerability AnalysisWeb Application ExploitationPenetration TestingMisconfigurationLearning & EducationDatabase SecurityLabs & Practice
GitHubnihal1306/gogs

gogs

CVE-2014-8682

Voir le dépôt
il y a 7 ansPas encore vérifié

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

gogs

Ici, nous allons configurer notre laboratoire dans notre machine virtuelle SEED Ubuntu 16.04 et nous devons d'abord installer le Go Git Service (GOGS) sur notre VM avant de pouvoir passer à l'exploitation de la vulnérabilité d'injection SQL. Pour configurer la VM, voici les étapes :

Étape 1 : Installer la base de données Une fois connecté au système, nous devons exécuter la commande suivante pour nous assurer que nos bibliothèques et dépôts sont à jour : $ sudo apt-get -y update

Nous utilisons MySQL comme serveur backend et nous devons donc l'installer sur notre VM, ce que nous pouvons faire avec la commande suivante : $ sudo apt-get – y install mysql-server

Pendant l'installation de la base de données, le système demande un mot de passe pour l'utilisateur root de la base de données. Nous allons maintenant créer un fichier appelé gogs.sql. Nous avons utilisé nano, mais n'importe quel éditeur de fichiers fera l'affaire.

Nous collons ensuite les instructions SQL suivantes dans le fichier gogs.sql et le sauvegardons. DROP DATABASE IF EXISTS gogs; CREATE DATABASE IF NOT EXISTS gogs CHARACTER SET utf8 COLLATE utf8_general_ci;

Maintenant, nous exécutons le fichier gogs.sql avec MySQL pour créer la base de données GOGS à l'aide de la commande : $ mysql – u root -p < gogs.sql

Le mot de passe root créé lors de l'installation de la base de données nous est alors demandé ; nous le saisissons et parvenons à créer la base de données GOGS avec succès.

Pour installer GOGS à partir des sources, nous avons besoin d'outils de gestion de versions comme Git et Mercurial. Pour les installer sur notre VM, nous utilisons la commande suivante : $ sudo apt-get -y install mercurial git

Étape 2 : Installer Go GOGS est écrit en langage Go, nous devons donc l'installer avant de compiler GOGS.

Tout d'abord, nous devons définir quelques variables d'environnement. Pour les définir, nous modifions le fichier ~/.bashrc et ajoutons les lignes suivantes, puis sauvegardons le fichier : export GOPATH=/home/git/go export GOROOT=/usr/local/src/go export PATH=${PATH}:$GOROOT/bin

Pour nous assurer que nos modifications ont bien été appliquées, nous exécutons la commande suivante : $ source ~/.bashrc

Maintenant, nous utilisons la commande wget pour installer l'une des versions compilées de Go. La commande est la suivante : $ wget https://storage.googleapis.com/golang/go1.4.2.linux-amd64.tar.gz

Ensuite, nous la décompressons avec la commande suivante : $ tar zxf go1.4.2.linux-amd64.tar.gz

Une fois le fichier décompressé, nous changeons notre répertoire de travail vers $GOROOT défini dans ~/.bashrc. La commande pour ce faire est : $ sudo mv go $GOROOT

Maintenant, nous vérifions l'installation de Go sur notre VM avec la commande : $ go

Pour accéder au dossier Gogs avec tous les documents requis, il suffit de cloner le dépôt Gogs dans le chemin $GOPATH/src/github.com/gogits/gogs. Cela peut être fait avec la commande suivante : $ cd $GOPATH/src/github.com/gogits/gogs

Nous allons maintenant installer Supervisor pour gérer le service Gogs à l'aide de la commande : $ sudo apt-get -y install supervisor

Une fois Supervisor installé sur notre VM, nous créons un démon Gogs en ajoutant une section de configuration pour Supervisor. Pour ce faire, nous devons d'abord définir un emplacement pour les fichiers journaux. L'emplacement des fichiers journaux est /var/log/gogs. La commande pour ce faire est : $ sudo mkdir -p /var/log/gogs

Avec un emplacement défini pour stocker les journaux, nous modifions le fichier de configuration de Supervisor situé dans /etc/supervisor/supervisord.conf. La commande pour ce faire est : $ sudo nano /etc/supervisor/supervisord.conf

Nous ajoutons le contenu suivant au fichier pour créer la section Gogs :

[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

Le code ci-dessus définit les commandes que nous souhaitons exécuter pour démarrer Gogs, démarrer Supervisor, fournir l'emplacement des fichiers journaux et les variables d'environnement correspondantes. Maintenant, nous redémarrons Supervisor pour que nos modifications prennent effet en utilisant la commande : $ sudo service supervisor restart

Pour vérifier que Gogs est bien en cours d'exécution, nous utilisons la commande suivante : $ ps -ef | grep gogs La commande ps affiche des informations sur les processus actifs et nous filtrons ces résultats pour obtenir les informations relatives à Gogs.

Une autre méthode pour vérifier que le serveur est en cours d'exécution consiste à consulter le fichier stdout.log à l'aide de la commande : $ tail /var/log/gogs/stdout.log

Maintenant, nous pouvons même visiter la page web qui affichera la page d'installation. L'URL correspondante sera : http://10.0.2.15:3000

Étape 4 : Configurer Nginx comme proxy inverse Tout d'abord, nous devons installer Nginx, ce que nous faisons avec la commande suivante : $ sudo apt-get -y install nginx

Maintenant, nous créons un fichier de configuration Nginx pour Gogs, qui sera situé dans /etc/nginx/sites-available/gogs. Nous ajoutons également le code suivant au fichier :

server { listen 80; server_name "AJOUTER L'ADRESSE IP ICI!!!";

root@kitploit:~
proxy_set_header X-Real-IP  $remote_addr; # pass on real client IP

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

} Nous devons également créer un lien symbolique pour que Nginx puisse accéder au fichier. Le lien symbolique est créé entre /etc/nginx/sites-available/gogs et /etc/nginx/sites-enabled/gogs. Nous pouvons créer le lien symbolique à l'aide de la commande suivante :

$ sudo ln -s /etc/nginx/sites-available/gogs /etc/nginx/sites-enabled/gogs Enfin, nous devons redémarrer le service Nginx pour activer les configurations des hôtes virtuels. La commande de redémarrage est : $ sudo service nginx restart

Maintenant, nous pouvons visiter l'URL précédemment utilisée sans le numéro de port. L'URL est : http://10.0.2.15

Étape 5 : Initialiser Gogs Avant de pouvoir initialiser Gogs, nous devons remplir certaines informations sur la page web du serveur dont l'URL est : http://10.0.2.15/install

Dans la première section, nous renseignons les informations concernant la base de données, qui dans notre cas est MySQL. Les champs sont les suivants :

Type de base de données : MySQL Hôte : 127.0.0.1:3306 Utilisateur : root Mot de passe : seedubuntu Nom de la base de données : gogs

Dans la deuxième section, nous renseignons les paramètres généraux de Gogs. Les champs correspondants sont : Chemin racine du dépôt : /home/git/gogs-repositories Utilisateur d'exécution : git Domaine : 10.0.2.15 Port HTTP : 300 URL de l'application : http://10.0.2.15:3000

Ensuite, nous modifions les paramètres du nom d'utilisateur et du mot de passe de l'administrateur dans la section Paramètres du compte administrateur.

Maintenant, nous cliquons sur "Installer Gogs" et nous nous connectons.

Étape 6 : Tester Gogs Pour nous assurer que Gogs fonctionne comme prévu, nous effectuons un test trivial de pull/push. Tout d'abord, nous allons à l'URL http://10.0.2.15/repo/create et créons un dépôt nommé my-test-repo.

Une fois toutes les informations requises remplies, nous pouvons procéder à la création du dépôt en cliquant sur le bouton vert "Créer un dépôt".

Maintenant, nous pouvons également cloner ce dépôt à l'aide de la commande : $ git clone http://10.0.2.15//my-test-repo.git

Nous nous rendons ensuite à l'emplacement du dépôt sur notre VM et mettons à jour le fichier README.md. Enfin, nous commitons toutes les modifications et les poussons à l'aide de la commande : $ git add –-all && git commit -m "init command" && git push origin master

Notre dépôt est créé avec succès et maintenant, lorsque nous visitons l'URL http://10.0.2.15/iammuskaan/my-test-repo, nous pouvons voir notre contenu ajouté au fichier README.md.

Télécharger l’outil