banner
lca

lca

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

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

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

image

ここでは、https://github.com/MoRan23/GZCTF-Auto というプロジェクトを使用して自動化デプロイします。単一の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 プロキシモードが有効になっているためです。

アクセスするには、https://github.com/XDSEC/WebSocketReflectorX/releases クライアントをダウンロードする必要があります。

インストールが完了したら、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

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