Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
gogs — CVE-2014-8682 | Kitploit
Strumenti/GitHubGitHub/nihal1306/gogs
Analisi delle VulnerabilitàSfruttamento di Applicazioni WebPenetration TestingConfigurazione ErrataApprendimento e FormazioneSicurezza dei DatabaseLab e Pratica
GitHubnihal1306/gogs

gogs

CVE-2014-8682

Vedi Repository
7 anni faNon ancora revisionato

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi

gogs

Qui allestiremo il nostro laboratorio nella VM SEED Ubuntu 16.04 e dobbiamo installare il Go Git Service (GOGS) sulla nostra VM prima di poter sfruttare la vulnerabilità di SQL injection. Per configurare la VM, ecco i passaggi:

Passo 1: Installare il Database Una volta effettuato l'accesso al sistema, eseguiamo il seguente comando per assicurarci che le librerie e i repository siano aggiornati $ sudo apt-get -y update

Utilizziamo MySQL Server come backend e quindi dobbiamo installarlo sulla nostra VM, cosa che possiamo fare con il seguente comando: $ sudo apt-get – y install mysql-server

Durante l'installazione del database, il sistema richiede una password per l'utente root del database. Ora creeremo un file chiamato gogs.sql. Abbiamo usato nano, ma qualsiasi editor di file funziona.

Quindi incolliamo le seguenti istruzioni SQL nel file gogs.sql e lo salviamo. DROP DATABASE IF EXISTS gogs; CREATE DATABASE IF NOT EXISTS gogs CHARACTER SET utf8 COLLATE utf8_general_ci;

Ora eseguiamo il file gogs.sql con MySQL per creare il database GOGS usando il comando: $ mysql – u root -p < gogs.sql

Ci viene quindi richiesta la password root creata durante la fase di installazione del database, che inseriamo e riusciamo a creare con successo il database GOGS.

Per installare GOGS dal sorgente abbiamo bisogno di strumenti di version control come Git e Mercurial e per installarli sulla nostra VM, usiamo il seguente comando: $ sudo apt-get -y install mercurial git

Passo 2: Installare Go GOGS è scritto usando il linguaggio di programmazione Go e quindi dobbiamo installarlo prima di compilare GOGS.

Innanzitutto, ci sono alcune variabili d'ambiente che dobbiamo impostare e per impostarle modifichiamo il file ~/.bashrc e aggiungiamo le seguenti righe e salviamo il file: export GOPATH=/home/git/go export GOROOT=/usr/local/src/go export PATH=${PATH}:$GOROOT/bin

Per assicurarci che le nostre modifiche siano state applicate correttamente, eseguiamo il seguente comando: $ source ~/.bashrc

Ora usiamo il comando wget per installare una delle versioni compilate di Go e il comando è il seguente: $ wget https://storage.googleapis.com/golang/go1.4.2.linux-amd64.tar.gz

Quindi lo decomprimiamo usando il seguente comando: $ tar zxf go1.4.2.linux-amd64.tar.gz

Una volta decompresso il file, cambiamo la nostra directory di lavoro in $GOROOT definito in ~/.bashrc, il comando per farlo è: $ sudo mv go $GOROOT

Ora, verifichiamo l'installazione di Go nella nostra VM usando il comando: $ go

Per accedere alla cartella Gogs con tutti i documenti necessari, basta clonare la cartella Gogs nel percorso $GOPATH/src/github.com/gogits/gogs Si può fare con il seguente comando: $ cd $GOPATH/src/github.com/gogits/gogs

Ora installeremo Supervisor per gestire il servizio Gogs usando il comando: $ sudo apt-get -y install supervisor

Con Supervisor installato nella nostra VM, ora creiamo un demone Gogs creando una sezione di configurazione di Supervisor. Per farlo, dobbiamo prima definire una posizione per i file di log. La posizione dei file di log è /var/log/gogs. Il comando per farlo è: $ sudo mkdir -p /var/log/gogs

Con una posizione definita per i log da memorizzare, procediamo a modificare il file di configurazione di Supervisor che si trova in /etc/supervisor/supervisord.conf e il comando per farlo è: $ sudo nano /etc/supervisor/supervisord.conf

Aggiungiamo il seguente contenuto al file per creare la sezione 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

Il codice sopra definisce i comandi che vogliamo eseguire per avviare Gogs, avviare Supervisor, fornire la posizione dei file di log e le corrispondenti variabili d'ambiente. Ora riavviamo Supervisor affinché le nostre modifiche abbiano effetto usando il comando: $ sudo service supervisor restart

Per verificare che Gogs sia effettivamente in esecuzione, usiamo il seguente comando: $ ps -ef | grep gogs Il comando ps mostra informazioni sui processi attivi e filtriamo (grep) tra questi risultati per ottenere informazioni su Gogs.

Un altro metodo per verificare che il server sia in esecuzione è guardare il file stdout.log usando il comando: $ tail /var/log/gogs/stdout.log

Ora possiamo anche visitare la pagina web che mostrerà la pagina di installazione. L'URL per farlo sarà: http://10.0.2.15:3000

Passo 4: Configurare Nginx come Proxy Inverso Innanzitutto, dobbiamo installare Nginx e lo facciamo usando il seguente comando: $ sudo apt-get -y install nginx

Ora creiamo un file di configurazione Nginx per Gogs che si troverà in etc/nginx/sites-available/gogs. Aggiungiamo anche il seguente codice al file:

server { listen 80; server_name “INSERISCI QUI L'INDIRIZZO IP!!!”;

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

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

} Dobbiamo anche creare un collegamento simbolico affinché Nginx possa accedere al file. Il collegamento simbolico viene creato tra /etc/nginx/sites-available/gogs e /etc/nginx/sites-enabled/gogs. Possiamo creare il collegamento simbolico usando il seguente comando:

$ sudo ln -s /etc/nginx/sites-available/gogs /etc/nginx/sites-enabled/gogs Infine, dobbiamo riavviare il servizio Nginx per attivare le configurazioni degli host virtuali. Il comando per riavviare è: $ sudo service nginx restart

Ora possiamo visitare l'URL precedentemente usato senza il numero di porta. L'URL è: http://10.0.2.15

Passo 5: Inizializzare Gogs Prima di poter inizializzare Gogs, dobbiamo compilare alcune informazioni sulla pagina web del server il cui URL è: http://10.0.2.15/install

Nella prima sezione, inseriamo informazioni sul database, che nel nostro caso è MySQL. I campi sono i seguenti:

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

Nella seconda sezione, inseriamo le impostazioni generali di Gogs e i campi per farlo sono: 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

Quindi, modifichiamo le impostazioni del nome utente e della password dell'amministratore nella sezione Admin Account Settings.

Ora, clicchiamo su "Install Gogs" ed effettuiamo l'accesso.

Passo 6: Testare Gogs Per assicurarci che Gogs funzioni come previsto, eseguiamo un semplice test di pull/push. Innanzitutto, andiamo all'URL http://10.0.2.15/repo/create e creiamo un repository con il nome my-test-repo.

Con tutte le informazioni richieste compilate, possiamo procedere alla creazione del repository cliccando sul pulsante verde "Create Repository".

Ora possiamo anche clonare questo repository usando il comando: $ git clone http://10.0.2.15//my-test-repo.git

Ci spostiamo quindi nella posizione del repository sulla nostra VM e aggiorniamo il file README.md. Infine, eseguiamo il commit di tutte le modifiche e le spingiamo usando il comando: $ git add –-all && git commit -m “init command” && git push origin master

Il nostro repository è stato creato con successo e ora, quando visitiamo l'URL http://10.0.2.15/iammuskaan/my-test-repo, possiamo vedere il nostro contenuto aggiunto al file README.md.

Scarica lo strumento