プラットフォームプロキシ

GZCTFには、WebSocket-TCPの転送機能と対応するトラフィック記録機能が組み込まれており、関連する設定項目を通じて有効にすることができます。

設定

appsettings.jsonContainerProvider ノードを見つけて、以下のように設定します:

{
  "ContainerProvider": {
    "PortMappingType": "PlatformProxy",
    "EnableTrafficCapture": false
  }
}

使用方法

プラットフォームプロキシが有効になった後、プラットフォームの /api/proxy/{guid} ンターフェースを使用して、TCP over WebSocketのトラフィック転送を行うことができます。

任意のこの方式をサポートするプログラムを接続することができます。また、推奨クライアント:WebSocketReflectorXを使用してローカルポートプロキシを行い、無感覚なインタラクションを行うことができます。

注意事項

Docker をバックエンドとして単体で使用し、PlatformProxy ポートマッピングタイプを使用する場合、GZCTFがチャレンジのコンテナにスムーズにアクセスできるように、追加で手動でネットワークを作成する必要があります:

docker network create challenges -d bridge --subnet 192.168.133.0/24

設定項目 ChallengeNetwork を対応するネットワーク名に設定し、compose.yml で外部ネットワークをブリッジする必要があります。例えば:

services:
  gzctf:
    ...
    networks:
    - default
    - challenges

networks:
  challenges:
    external: true