banner
lca

lca

真正的不自由,是在自己的心中设下牢笼。

GZCTFプラットフォームの構築記録

之前、ctfdのサンドボックスを構築しましたが、今度は GZCTF をインストールして、両者の違いを確認してみます。GZCTF のインストールには、公式ドキュメントで推奨されている docker + K8s の分離デプロイ方法を使用します。

image

ここでは、このプロジェクトを使用して自動化デプロイを行います。単一のdockerまたはdocker+k3sのデプロイをサポートしています。

私はdocker+k3sのデプロイ方法を使用しました。2 つの Ubuntu マシンを準備する必要があります。1 つは Docker をインストールし、もう 1 つは k3s をインストールします。

image

両方のマシンは Ubuntu 20.04 です。

k3s のインストール#

IP:192.168.31.171

curl -sfL https://rancher-mirror.rancher.cn/k3s/k3s-install.sh | INSTALL_K3S_MIRROR=cn sh -

GZCTF プラットフォームのインストール#

Docker がインストールされているマシンにインストールします。IP アドレスは 192.168.31.254 です。

image

image

少し待って、デプロイが成功しました。

image

http://192.168.31.254:81 にアクセスし、アカウントとパスワードでログインします。

image

問題のテスト#

次の Docker サンドボックスを使用してテストします。

ctftraining/qwb_2019_supersqli:latest

左側の管理をクリックします。

image

中に入ると、新しい競技を作成するために、競技のタイトル名を入力します。

image

作成が完了したら、以下のようになります。

image

右側のアイコンをクリックして、次のページに移動します。

image

問題の管理をクリックして、新しい問題を作成します。

image

問題のタイプを選択できます。

image

動的コンテナを選択し、次のページに移動します。

image

コンテナイメージに注意し、テストコンテナを作成し、Docker イメージのアドレスを入力し、テストコンテナを作成します。以下の図のようになります。

image

問題を有効にします。

image

次に、問題にアクセスするために、チームを作成し、関連する人々をチームに追加する必要があります。

image

情報審査で、チームの登録を自動承認にすることができます。これにより、チームに参加するためには管理者の承認が必要になります。そうでなければ、管理者の同意が必要です。チームに参加していない人は問題にアクセスできません。

image

チームの管理をクリックすると、チームを作成したり、チームに参加したりすることができます。

image

チームに参加するには、他のメンバーが招待コードを送信する必要があります。

image

チームの作成をクリックします。

image

作成が完了したら、招待コードを生成できます。

image

ホームに戻り、競技に参加することができます。

image

image

上記の問題が表示される場合、競技の自動承認が有効になっていないことを意味します。管理者が審査を行う必要があります。

image

test アカウントでログインし直すと、競技に参加できるようになります。

image

競技に入ると、コンテナを作成した後、以下の図のようになります。

image

ここで提供される ws 接続は、tcp over ws プロキシモードが有効になっているためです。

アクセスするには、このクライアントをダウンロードする必要があります。

インストールが完了したら、ws 接続アドレスを入力します。

image

問題の IP とポートが表示されます。

image

その後、この接続を使用して問題にアクセスするには、このリンクを使用します:http://127.0.0.1:64143/

image

言語の切り替え#

image

参考#

https://github.com/XDSEC/WebSocketReflectorX/releases
https://docs.ctf.gzti.me/zh
https://github.com/GZTimeWalker/GZCTF
https://github.com/MoRan23/GZCTF-Auto

カバー画像はこちらから:
https://wallhaven.cc/w/kx5v57

読み込み中...
文章は、創作者によって署名され、ブロックチェーンに安全に保存されています。