Challenge Description

I’ll begin by running the command given in the description to understand how I can proceed. After connecting to the server, I was greeted with an overwhelming number of numbers, as shown below.

┌──(kali㉿kali)-[~/Desktop/picoCTF/general_skills/nice_netcat...]
└─$ nc mercury.picoctf.net 35652
112 
105 
99 
111 
67 
84 
70 
123 
103 
48 
48 
100 
95 
107 
49 
116 
116 
121 
33 
95 
110 
49 
99 
51 
95 
107 
49 
116 
116 
121 
33 
95 
57 
98 
51 
98 
55 
51 
57 
50 
125 
10

Based on the challenge description, I figured that we may be required to convert each number into an ASCII character. We can do this using the Python chr() function. I proceeded to store all the numbers in a file called num.txt.

What does chr() do?

The chr() function returns the character that represents the specified unicode. For example, chr(97) allows us to get the character that represents the unicode 97.

Since ASCII is a proper subset of Unicode, chr() can be used to convert the above numbers into ASCII characters.

Hence, I came up with this python script to convert each number into an ASCII character, which will be added to the flag. At the end, the flag will be printed out in the terminal.

flag = ""
 
with open("num.txt","r") as file:
    for number in file:
        flag += chr(int(number))
 
print(flag)

Flag

picoCTF{g00d_k1tty!_n1c3_k1tty!_9b3b7392}