Character
Security through Induced Boredom is a personal favourite approach of mine. Not as exciting as something like The Fray, but I love making it as tedious as possible to see my secrets, so you can only get one character at a time!
Docker:
nc 94.237.51.96 51605
Writeup by: Hein Andre Grønnestad
Service
When connecting to the service we’re presented with a question; Which character (index) of the flag do you want?
. When the service is given an index it seems to return the flag character at that index. Seems like all we need is a simple script to do the enumeration for us.
$ nc 94.237.51.96 51605
Which character (index) of the flag do you want? Enter an index: 0
Character at Index 0: H
Which character (index) of the flag do you want? Enter an index: 1
Character at Index 1: T
Which character (index) of the flag do you want? Enter an index: 255
Index out of range!
Which character (index) of the flag do you want? Enter an index:
Solve Script
Full script here: solver.py
from pwn import *
remote_ip = '94.237.51.96'
remote_port = 51605
conn = remote(remote_ip, remote_port)
char = ''
count = 0
flag = ''
while char != b'}':
print(conn.recvuntil(b'Which character (index) of the flag do you want? Enter an index: '))
indexstr = str(count).encode()
print(indexstr)
conn.sendline(indexstr)
response = conn.recvline()
parts = response.split(b':')
char = parts[1].strip()
print(response)
flag += char.decode()
count += 1
print('\n')
print('Flag is:', flag)
print('\n')
# Close the connection
conn.close()
Running The Script
$ python3 solver.py
[+] Opening connection to 94.237.51.96 on port 51605: Done
b'Which character (index) of the flag do you want? Enter an index: '
b'0'
b'Character at Index 0: H\n'
b'Which character (index) of the flag do you want? Enter an index: '
b'1'
b'Character at Index 1: T\n'
# ...abbreviated
b'Which character (index) of the flag do you want? Enter an index: '
b'102'
b'Character at Index 102: !\n'
b'Which character (index) of the flag do you want? Enter an index: '
b'103'
b'Character at Index 103: }\n'
Flag is: HTB{tH15_1s_4_r3aLly_l0nG_fL4g_i_h0p3_f0r_y0Ur_s4k3_tH4t_y0U_sCr1pTEd_tH1s_oR_els3_iT_t0oK_qU1t3_l0ng!!}
[*] Closed connection to 94.237.51.96 port 51605
Flag
HTB{tH15_1s_4_r3aLly_l0nG_fL4g_i_h0p3_f0r_y0Ur_s4k3_tH4t_y0U_sCr1pTEd_tH1s_oR_els3_iT_t0oK_qU1t3_l0ng!!}