l33t

Solution
Honestly, at the first place i don't even know what language is this hahaha

After some translation by Google, i understand that this challenge need us to convert the leet code to a normal readable text.
Let say the challenge give m4+h
, we need to send math
as the input.
The catch is we need to solve all 50 question in 5 seconds, i think.
So we need to subtitute those leet character to alphabet.
from pwn import *
r = remote('ctf.mf.grsu.by', 9006)
count = 0
while True:
r.recvuntil(b'/50')
byte_string = r.recv().strip().decode('utf-8')
if 'grodno' in byte_string:
print(byte_string)
print(byte_string)
decode_leet = []
for byte in byte_string:
if byte.isdigit():
if byte == '0':
byte = 'o'
if byte == '1':
byte = 'l'
if byte == '3':
byte = 'e'
if byte == '4':
byte = 'a'
decode_leet.append(byte)
else:
if byte == '!':
byte = 'i'
if byte == '+':
byte = 't'
decode_leet.append(byte)
joined_leet = ''.join(decode_leet)
print(joined_leet)
r.sendline(joined_leet)
count += 1
if count == 50:
print(r.recv())
print(r.recv())
print(r.recv())
break
Upon running the script, we retrieve a flag after completed 50 questions.

Flag
grodno{d5a410leet_1s_a_system_0f_modified_spellings++6&0k!0fda14}
Last updated