Skip to content
KitploitKITPLOIT
ツールブログ
提出
ツールブログ
提出

ハッキング、侵入テスト、サイバーセキュリティツールをあなたのセキュリティアーセナルに!

Kitploitはハッキング、サイバーセキュリティ、ペネトレーションテストのツールディレクトリです。最新のプロジェクトアップデートを見つけて、脆弱性の発見、システム分析、テストの自動化、セキュリティの強化を行いましょう。

··フィード·お問い合わせ·プライバシー·© 2026 Kitploit

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
gogs — CVE-2014-8682 | Kitploit
ツール/GitHubGitHub/nihal1306/gogs
脆弱性分析ウェブアプリケーション悪用ペネトレーションテスト設定ミス学習と教育データベースセキュリティラボと実践
GitHubnihal1306/gogs

gogs

CVE-2014-8682

リポジトリを見る
7年前未レビュー

人気

すべて見る →

コミュニティで最も使われているツールを見つけましょう。

すべてのツールを探索

ツールコレクションを閲覧

すべてのツールを見る →
共有

gogs

ここでは、SEED Ubuntu 16.04 VM上にラボをセットアップします。SQLインジェクションの脆弱性を悪用する前に、まずVM上にGo Git Service(GOGS)をインストールする必要があります。VMをセットアップする手順は以下の通りです。

ステップ1: データベースのインストール システムにログインしたら、以下のコマンドを実行してライブラリとリポジトリが最新であることを確認します。 $ sudo apt-get -y update

バックエンドではMySQLサーバーを使用しているため、VMにインストールする必要があります。以下のコマンドでインストールできます。 $ sudo apt-get – y install mysql-server

データベースのインストール中に、データベースのrootユーザーパスワードを求められます。次に、gogs.sqlというファイルを作成します。ここではnanoを使用していますが、任意のファイルエディタで構いません。

以下のSQLステートメントをgogs.sqlファイルに貼り付けて保存します。 DROP DATABASE IF EXISTS gogs; CREATE DATABASE IF NOT EXISTS gogs CHARACTER SET utf8 COLLATE utf8_general_ci;

次に、以下のコマンドでMySQLを使用してgogs.sqlファイルを実行し、GOGSデータベースを作成します。 $ mysql – u root -p < gogs.sql

データベースインストール時に作成したrootパスワードを求められるので、入力するとGOGSデータベースが正常に作成されます。

GOGSをソースからインストールするには、GitやMercurialなどのバージョン管理ツールが必要です。VMにインストールするには、以下のコマンドを使用します。 $ sudo apt-get -y install mercurial git

ステップ2: Goのインストール GOGSはGoプログラミング言語で書かれているため、GOGSをコンパイルする前にGoをインストールする必要があります。

まず、いくつかの環境変数を設定する必要があります。~/.bashrcファイルを編集し、以下の行を追加して保存します。 export GOPATH=/home/git/go export GOROOT=/usr/local/src/go export PATH=${PATH}:$GOROOT/bin

変更が正常に適用されたことを確認するために、以下のコマンドを実行します。 $ source ~/.bashrc

次に、wgetコマンドを使用してGoのコンパイル済みバージョンの1つをインストールします。コマンドは以下の通りです。 $ wget https://storage.googleapis.com/golang/go1.4.2.linux-amd64.tar.gz

その後、以下のコマンドでアーカイブを展開します。 $ tar zxf go1.4.2.linux-amd64.tar.gz

ファイルが展開されたら、作業ディレクトリを~/.bashrcで定義した$GOROOTに変更します。コマンドは以下の通りです。 $ sudo mv go $GOROOT

次に、以下のコマンドでVM上でのGoのインストールを確認します。 $ go

必要なドキュメントがすべて含まれるGogsフォルダにアクセスするには、単にGogsフォルダを$GOPATH/src/github.com/gogits/gogsのパスにgit cloneします。以下のコマンドで実行できます。 $ cd $GOPATH/src/github.com/gogits/gogs

次に、SupervisorをインストールしてGogsサービスを管理します。以下のコマンドを使用します。 $ sudo apt-get -y install supervisor

VMにSupervisorがインストールされたら、Supervisor設定セクションを作成してGogsデーモンを作成します。そのために、まずログファイルの場所を定義する必要があります。ログファイルの場所は/var/log/gogsです。コマンドは以下の通りです。 $ sudo mkdir -p /var/log/gogs

ログを保存する場所が定義されたら、/etc/supervisor/supervisord.confにあるSupervisor設定ファイルを編集します。コマンドは以下の通りです。 $ sudo nano /etc/supervisor/supervisord.conf

ファイルに以下の内容を追加して、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

上記のコードは、Gogsを起動するために実行するコマンド、Supervisorの起動、ログファイルの場所、および対応する環境変数を定義しています。 次に、変更を有効にするためにSupervisorを再起動します。以下のコマンドを使用します。 $ sudo service supervisor restart

Gogsが実際に実行されていることを確認するには、以下のコマンドを使用します。 $ ps -ef | grep gogs psコマンドはアクティブなプロセスに関する情報を表示し、grepでその結果をフィルタリングしてGogsの情報を取得します。

サーバーが実行中であることを確認する別の方法は、以下のコマンドでstdout.logファイルを確認することです。 $ tail /var/log/gogs/stdout.log

これで、インストールページが表示されるWebページにアクセスすることもできます。URLは以下の通りです。 http://10.0.2.15:3000

ステップ4: Nginxをリバースプロキシとして設定 まず、Nginxをインストールする必要があります。以下のコマンドを使用します。 $ sudo apt-get -y install nginx

次に、Gogs用のNginx設定ファイルを作成します。ファイルはetc/nginx/sites-available/gogsに配置します。以下のコードをファイルに追加します。

server { listen 80; server_name “ADD IP ADDRESS HERE!!!”;

root@kitploit:~
proxy_set_header X-Real-IP  $remote_addr; # 実際のクライアントIPを渡す

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

} また、Nginxがファイルにアクセスできるようにシンボリックリンクを作成する必要があります。シンボリックリンクは/etc/nginx/sites-available/gogsと/etc/nginx/sites-enabled/gogsの間に作成します。以下のコマンドでシンボリックリンクを作成できます。

$ sudo ln -s /etc/nginx/sites-available/gogs /etc/nginx/sites-enabled/gogs 最後に、Nginxサービスを再起動して仮想ホストの設定を有効にする必要があります。再起動のコマンドは以下の通りです。 $ sudo service nginx restart

これで、以前使用したURLにポート番号なしでアクセスできるようになります。URLは以下の通りです。 http://10.0.2.15

ステップ5: Gogsの初期化 Gogsを初期化する前に、サーバーのWebページ(URLはhttp://10.0.2.15/install)で特定の情報を入力する必要があります。

最初のセクションでは、データベースに関する情報を入力します。今回の場合はMySQLです。フィールドは以下の通りです。

データベースタイプ: MySQL ホスト: 127.0.0.1:3306 ユーザー: root パスワード: seedubuntu データベース名: gogs

2番目のセクションでは、Gogsの一般設定を入力します。フィールドは以下の通りです。 リポジトリルートパス: /home/git/gogs-repositories 実行ユーザー: git ドメイン: 10.0.2.15 HTTPポート: 300 アプリケーションURL: http://10.0.2.15:3000

次に、管理者アカウント設定で管理者ユーザー名とパスワードを変更します。

そして、「Install Gogs」をクリックしてログインします。

ステップ6: Gogsのテスト Gogsが設計通りに動作していることを確認するために、簡単なプル/プッシュテストを実行します。 まず、URL http://10.0.2.15/repo/create にアクセスし、my-test-repo というリポジトリを作成します。

必要な情報をすべて入力したら、緑色の「Create Repository」ボタンをクリックしてリポジトリを作成します。

次に、以下のコマンドを使用してこのリポジトリをクローンすることもできます。 $ git clone http://10.0.2.15//my-test-repo.git

その後、VM上のリポジトリの場所に移動し、README.mdファイルを更新します。 最後に、すべての変更をコミットし、以下のコマンドを使用してプッシュします。 $ git add –-all %% git commit -m “init command” && git push origin master

リポジトリが正常に作成されました。URL http://10.0.2.15/iammuskaan/my-test-repo にアクセスすると、README.mdファイルに追加した内容が表示されます。

ツールをダウンロード