247CTF - Hidden Painting

A hidden painting is encoded as coordinates. Connect the dots to reveal the flag.

Vulnerability

Steganography through coordinate encoding. Data is hidden in plain sight as hex coordinates.

Solution

The challenge provides a file with hex-encoded coordinates:

1
2
3
4
0x4b 0x9d0
0x44 0x974
0x33 0x92
...

Each line contains X and Y coordinates in hexadecimal format. Use Python to plot them:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
import matplotlib.pyplot as plt

x_coords = []
y_coords = []

with open("secret_map.txt", "r") as f:
for line in f:
line = line.strip()
if line:
parts = line.split()
x_coords.append(int(parts[0], 16))
y_coords.append(-int(parts[1], 16))

plt.scatter(x_coords, y_coords, s=1, color="black")
plt.axis("equal")
plt.axis("off")
plt.show()

When plotted, the image containing the flag.

Key Insight

Encoding data as coordinates is a simple steganographic technique. Visualizing data reveals hidden patterns that text alone cannot convey.

247CTF{0c895fb57954df7f83756e1f7718e661}