Skip to main content

Snyk Fetch the Flag CTF 2023: Write-up zu Honey Baked Messages

Artikel von
snyk ctf honey baked messages

30. November 2023

0 Min. Lesezeit

Danke, dass Sie bei Fetch mitgespielt haben! Glückwunsch an die Tausenden Spielerinnen und Spieler, die bei Fetch the Flag CTF dabei waren. Wenn Sie bei Snyks Fetch the Flag 2023 dabei waren und nach der Lösung für die Challenge Honey Baked Messages suchen, sind Sie hier genau richtig. Wir gehen die Lösung gemeinsam durch!

Bei dieser Challenge geht es um Hamming-Codes. Hamming-Codes sind eine Art Fehlerkorrekturcode. Bei dieser Challenge kommt die (7, 4)-Version der Hamming-Codes zum Einsatz.

Die Challenge besteht aus folgenden Teilen:

  1. Erkennen, dass es sich um Hamming-Codierung handelt.

  2. Jede Zeile der Datei einlesen. 

  3. Die benötigte H-Matrix für das Problem bestimmen.

  4. Die gesamte Datei fehlerkorrigieren und die Flag erhalten.

Hier ist das Lösungsskript solve.py:

import numpy as np

H = np.array(
        [
            [1, 1, 1, 0, 1, 0, 0],
            [0, 1, 1, 1, 0, 1, 0],
            [1, 1, 0, 1, 0, 0, 1]
        ]
    )
errors = {
    "000":None,
    "001": 6,
    "010": 5,
    "011": 3,
    "100": 4,
    "101": 0,
    "110": 2,
    "111": 1
}

def np2usable(nparr):
    return np.array2string(nparr).replace(" ", "" ).replace("[", "").replace(']', "")

def fixErrs(hamming):
    error = (np.matmul(H, hamming)%2)
    err_idx = errors[np2usable(error)]
    if err_idx != None:
        # print(err_idx)
        hamming[err_idx] +=1
        hamming[err_idx] %= 2

    return hamming[:4]

data = []
with open("message_2.txt", "r") as reader:
    for line in reader:
        code = np.fromstring(" ".join(line.strip("\n")), dtype = int, sep=" ")
        data.append(np2usable(fixErrs(code)))
split_chars = (list(zip(*(iter(data),) * 2)))

[print(chr(int(j+k, 2)), end="") for j,k in split_chars ]

Danke, dass Sie Fetch möglich gemacht haben!

Ein riesiges Dankeschön an alle Teams bei Fetch the Flag 2023! Es war toll, Sie alle dort zu sehen, und Sie können mich jederzeit auf YouTube finden.

Hier finden Sie die Write-ups zu den anderen Challenges aus 2023. Legen Sie los!

Gepostet in:

Weiterlesen

Blog

Fetch the Flag CTF 2026: Offizielle Challenge-Lösungen & Community-Highlights

Entdecke offizielle Beiträge und Community-Highlights vom Fetch the Flag CTF 2026 mit über 20 Herausforderungen in den Bereichen Web-Sicherheit, KI und Kryptografie. Lerne von den Expert:innen und tauche in die technischen Details der anspruchsvollsten Binär-Rätsel und Web-Exploits dieses Jahres ein.

Blog

4 Gründe, warum CTFs zu den besten Möglichkeiten gehören, sich in der Cybersicherheit weiterzuentwickeln

Capture-the-Flag-Wettbewerbe (CTF) sind eine hervorragende Möglichkeit, Ihre Karriere in der Cybersicherheit voranzubringen. Sie machen Sie mit realen Schwachstellen und vielfältigen technischen Bereichen vertraut. Erfahren Sie, warum CTFs zu den besten Wegen gehören, Ihr Fachwissen auszubauen und Ihr berufliches Netzwerk zu erweitern.

Compliance FEATURE cropped
Blog

Der ultimative Guide zu kommenden CTFs: In 6 Monaten vom Anfänger zum Elite-Hacker (Oktober 2025 bis April 2026)

Meistern Sie CTFs in 6 Monaten – vom Anfänger bis zum Elite-Hacker! Entdecken Sie die wichtigsten Wettbewerbe, erfahren Sie mehr über Schwierigkeitsgrade und planen Sie Ihren Weg zum Erfolg von Oktober 2025 bis April 2026.