Files
ctf-notes/programming/tcp-back-to-school/notes.org
Tuan-Dat Tran 3a3a5587ca feat: add timer
Signed-off-by: Tuan-Dat Tran <tuan-dat.tran@dextradata.com>
2026-03-21 13:23:39 +01:00

2.0 KiB

TCP - BAck to School

Challenge: https://www.root-me.org/de/Herausforderungen/Programmierung/TCP-Back-to-school

Aufgabe

Um diesen Test mit dem TCP-Protokoll zu starten, müssen Sie eine Verbindung zu einem Programm an einem Netzwerk-Socket herstellen.

  • Berechne die Quadratwurzel aus Nummer 1 und multipliziere sie mit Nummer 2.
  • Runden Sie dann das Ergebnis auf zwei Dezimalstellen ab.
  • Sie haben 2 Sekunden Zeit, um die richtige Antwort zu senden, sobald das Programm Ihnen die Berechnung sendet.

Zugangsdaten für die Übung

Host challenge01.root-me.org Protokoll TCP Port 52002


cat ./main.py
import math
import re
import socket
import time


HOST = "challenge01.root-me.org"
PORT = 52002


def solve_prompt(prompt: str) -> str:
    match = re.search(
        r"square root of\s*(\d+)\s*and multiply by\s*(\d+)",
        prompt,
        re.IGNORECASE,
    )
    if not match:
        raise ValueError("Unsupported challenge prompt")

    left = int(match.group(1))
    right = int(match.group(2))
    return f"{math.sqrt(left) * right:.2f}"


def main() -> None:
    conn = socket.create_connection((HOST, PORT), timeout=2)
    start_time = time.monotonic()
    try:
        prompt = conn.recv(4096).decode(errors="replace")
        print(prompt, end="")

        answer = solve_prompt(prompt)
        conn.sendall((answer + "\n").encode())

        result = conn.recv(4096).decode(errors="replace")
        print(result, end="")
    finally:
        conn.close()
        elapsed = time.monotonic() - start_time
        print(f"\nConnection lifetime: {elapsed:.3f}s")


if __name__ == "__main__":
    main()
python3 ./main.py

====================
 GO BACK TO COLLEGE
====================
You should tell me the answer of this math operation in less than 2 seconds !

Calculate the square root of 535 and multiply by 2447 = [+] Good job ! Here is your flag: RM{TCP_C0nnecT_4nD_m4Th}

Connection lifetime: 0.408s