• 日本語
  • プラットフォームプロキシ

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

    設定

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

    {
      "ContainerProvider": {
        "PortMappingType": "PlatformProxy",
        "EnableTrafficCapture": false,
        "DockerConfig": {
          // optional, change it to the actual network if you use docker
          "ChallengeNetwork": "challenges"
        }
      }
    }

    使用方法

    プラットフォームプロキシが有効になった後、プラットフォームの /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