Created
March 22, 2020 17:20
-
-
Save streanger/6e9dc99aa60ae2283964cdaa02c9be5b to your computer and use it in GitHub Desktop.
ascii_art_1_writeup
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import sys | |
import nclib | |
def characters_map(s): | |
'''return value depend on specified character | |
important thins is escape characters at the end -> \\ | |
''' | |
dictio = { | |
''' _ | |
/ | | |
| | | |
| | | |
|_|''': '1', | |
''' ____ | |
|___ \ | |
__) | | |
/ __/ | |
|_____|''': '2', | |
''' _____ | |
|___ / | |
|_ \ | |
___) | | |
|____/ ''': '3', | |
''' _ _ | |
| || | | |
| || |_ | |
|__ _| | |
|_| ''': '4', | |
''' ____ | |
| ___| | |
|___ \ | |
___) | | |
|____/ ''': '5', | |
''' __ | |
/ /_ | |
| '_ \ | |
| (_) | | |
\___/ ''': '6', | |
''' _____ | |
|___ | | |
/ / | |
/ / | |
/_/ ''': '7', | |
''' ___ | |
( _ ) | |
/ _ \ | |
| (_) | | |
\___/ ''': '8', | |
''' ___ | |
/ _ \ | |
| (_) | | |
\__, | | |
/_/ ''': '9', | |
''' _ | |
_| |_ | |
|_ _| | |
|_| ''': '+', | |
''' _____ | |
|_____|''': '-', | |
'''__/\__ | |
\ / | |
/_ _\\ | |
\/ ''': '*', | |
''' __ | |
/ / | |
/ / | |
/ / | |
/_/ ''': '//', | |
} | |
if s in list(dictio.keys()): | |
return dictio[s] | |
return False | |
def join_columns(data, start, stop): | |
return '\n'.join([''.join(line) for line in list(zip(*data[start:stop]))]) | |
def get_response(s): | |
'''s is string''' | |
lines_list = [line for line in s.splitlines() if line.strip()] # remove white lines | |
stripped = '\n'.join([line for line in lines_list if line.strip()]) | |
line_length = len(stripped.splitlines()[0]) | |
swapped = list(zip(*[list(line) for line in stripped.splitlines()])) | |
equation = '' | |
start_key = 0 | |
for key, _ in enumerate(swapped): | |
character = join_columns(swapped, start_key, key+1) | |
character = '\n'.join([line for line in character.splitlines() if line.strip()]) | |
value = characters_map(character) | |
if value: | |
equation += value | |
start_key = key+1 | |
out = str(eval(equation)) | |
return out, equation | |
if __name__ == "__main__": | |
test_cmd = 'nc 3.91.74.70 1338' | |
nc = nclib.Netcat(('3.91.74.70', 1338), udp=False) | |
wait_newline = False | |
first_stuff = True | |
while True: | |
full_lines = b'' | |
while True: | |
try: | |
line = nc.recvline() | |
except nclib.errors.NetcatError: | |
print('Connection dropped!') | |
print('\nFLAG:\n\t{}'.format(full_lines.decode('utf-8'))) | |
sys.exit() | |
full_lines += line | |
if b'\r\n' in line: | |
wait_newline = True | |
if wait_newline and not b'\r\n' in line: | |
wait_newline = False | |
break | |
lines_list = [line.decode('utf-8') for line in full_lines.splitlines()] | |
if first_stuff: | |
lines_list = lines_list[3:] | |
first_stuff = False | |
else: | |
lines_list = [line[1:] if not key else line for key, line in enumerate(lines_list)] | |
s = '\n'.join(lines_list) | |
print(s) | |
response, equation = get_response(s) | |
print('equation: {} => {}'.format(equation, response)) | |
response_bytes = '{}'.format(response).encode('utf-8') | |
nc.sendline(response_bytes) | |
FLAG_BYTES = b'>securinets{th1s_w4s_g00d_r1ght??}\n' |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
_ ____ | |
/ |__/\__| ___| | |
| |\ /|___ \ | |
| |/_ _\ ___) | | |
|_| \/ |____/ | |
equation: 1*5 => 5 | |
_____ ____ | |
|___ | _ |___ \ | |
/ / _| |_ __) | | |
/ / |_ _| / __/ | |
/_/ |_| |_____| | |
equation: 7+2 => 9 | |
____ ___ | |
|___ \ __/\__ / _ \ | |
__) |\ /| (_) | | |
/ __/ /_ _\ \__, | | |
|_____| \/ /_/ | |
equation: 2*9 => 18 | |
___ __ _____ | |
( _ ) / /|___ / | |
/ _ \ / / |_ \ | |
| (_) | / / ___) | | |
\___/ /_/ |____/ | |
equation: 8//3 => 2 | |
_____ ___ | |
|___ |__/\__ ( _ ) | |
/ / \ / / _ \ | |
/ / /_ _\| (_) | | |
/_/ \/ \___/ | |
equation: 7*8 => 56 | |
_____ __ | |
|___ | / /_ | |
/ / _____ | '_ \ | |
/ / |_____|| (_) | | |
/_/ \___/ | |
equation: 7-6 => 1 | |
___ _ _ | |
/ _ \ __/\__| || | | |
| (_) |\ /| || |_ | |
\__, |/_ _\|__ _| | |
/_/ \/ |_| | |
equation: 9*4 => 36 | |
_ __ | |
/ | _ / /_ | |
| | _| |_ | '_ \ | |
| ||_ _|| (_) | | |
|_| |_| \___/ | |
equation: 1+6 => 7 | |
____ __ | |
| ___| _ / /_ | |
|___ \ _| |_ | '_ \ | |
___) ||_ _|| (_) | | |
|____/ |_| \___/ | |
equation: 5+6 => 11 | |
____ _____ | |
|___ \ _ |___ / | |
__) | _| |_ |_ \ | |
/ __/ |_ _| ___) | | |
|_____| |_| |____/ | |
equation: 2+3 => 5 | |
__ ____ | |
/ /_ _ | ___| | |
| '_ \ _| |_ |___ \ | |
| (_) ||_ _| ___) | | |
\___/ |_| |____/ | |
equation: 6+5 => 11 | |
____ _ _ | |
|___ \ | || | | |
__) | _____ | || |_ | |
/ __/ |_____||__ _| | |
|_____| |_| | |
equation: 2-4 => -2 | |
__ _ _ | |
/ /_ __/\__| || | | |
| '_ \ \ /| || |_ | |
| (_) |/_ _\|__ _| | |
\___/ \/ |_| | |
equation: 6*4 => 24 | |
__ _ _ | |
/ /_ _ | || | | |
| '_ \ _| |_ | || |_ | |
| (_) ||_ _||__ _| | |
\___/ |_| |_| | |
equation: 6+4 => 10 | |
____ ___ | |
| ___| __/\__ ( _ ) | |
|___ \ \ / / _ \ | |
___) |/_ _\| (_) | | |
|____/ \/ \___/ | |
equation: 5*8 => 40 | |
__ _____ | |
/ /_ _ |___ | | |
| '_ \ _| |_ / / | |
| (_) ||_ _| / / | |
\___/ |_| /_/ | |
equation: 6+7 => 13 | |
_____ _____ | |
|___ | |___ / | |
/ / _____ |_ \ | |
/ / |_____| ___) | | |
/_/ |____/ | |
equation: 7-3 => 4 | |
____ ____ | |
|___ \ |___ \ | |
__) | _____ __) | | |
/ __/ |_____| / __/ | |
|_____| |_____| | |
equation: 2-2 => 0 | |
_ __ _____ | |
/ | / /|___ / | |
| | / / |_ \ | |
| | / / ___) | | |
|_|/_/ |____/ | |
equation: 1//3 => 0 | |
__ _____ | |
/ /_ |___ | | |
| '_ \ _____ / / | |
| (_) ||_____| / / | |
\___/ /_/ | |
equation: 6-7 => -1 | |
___ ___ | |
( _ ) ( _ ) | |
/ _ \ _____ / _ \ | |
| (_) ||_____|| (_) | | |
\___/ \___/ | |
equation: 8-8 => 0 | |
_ __ ___ | |
/ | / / / _ \ | |
| | / / | (_) | | |
| | / / \__, | | |
|_|/_/ /_/ | |
equation: 1//9 => 0 | |
____ ___ | |
|___ \ / _ \ | |
__) | _____ | (_) | | |
/ __/ |_____| \__, | | |
|_____| /_/ | |
equation: 2-9 => -7 | |
_ ___ | |
/ | _ ( _ ) | |
| | _| |_ / _ \ | |
| ||_ _|| (_) | | |
|_| |_| \___/ | |
equation: 1+8 => 9 | |
____ _ | |
| ___| _ / | | |
|___ \ _| |_ | | | |
___) ||_ _|| | | |
|____/ |_| |_| | |
equation: 5+1 => 6 | |
_ _ ___ | |
| || | _ ( _ ) | |
| || |_ _| |_ / _ \ | |
|__ _||_ _|| (_) | | |
|_| |_| \___/ | |
equation: 4+8 => 12 | |
____ ____ | |
| ___| __/\__| ___| | |
|___ \ \ /|___ \ | |
___) |/_ _\ ___) | | |
|____/ \/ |____/ | |
equation: 5*5 => 25 | |
____ ___ | |
| ___| _ ( _ ) | |
|___ \ _| |_ / _ \ | |
___) ||_ _|| (_) | | |
|____/ |_| \___/ | |
equation: 5+8 => 13 | |
____ ___ | |
| ___| _ ( _ ) | |
|___ \ _| |_ / _ \ | |
___) ||_ _|| (_) | | |
|____/ |_| \___/ | |
equation: 5+8 => 13 | |
_ _ ___ | |
| || | __/\__ / _ \ | |
| || |_ \ /| (_) | | |
|__ _|/_ _\ \__, | | |
|_| \/ /_/ | |
equation: 4*9 => 36 | |
_ _ _ | |
/ | | || | | |
| | _____ | || |_ | |
| ||_____||__ _| | |
|_| |_| | |
equation: 1-4 => -3 | |
_ ____ | |
/ | |___ \ | |
| | _____ __) | | |
| ||_____| / __/ | |
|_| |_____| | |
equation: 1-2 => -1 | |
_____ ___ | |
|___ / ( _ ) | |
|_ \ _____ / _ \ | |
___) ||_____|| (_) | | |
|____/ \___/ | |
equation: 3-8 => -5 | |
_____ _____ | |
|___ / __/\__|___ / | |
|_ \ \ / |_ \ | |
___) |/_ _\ ___) | | |
|____/ \/ |____/ | |
equation: 3*3 => 9 | |
___ _____ | |
/ _ \ _ |___ / | |
| (_) | _| |_ |_ \ | |
\__, ||_ _| ___) | | |
/_/ |_| |____/ | |
equation: 9+3 => 12 | |
____ ___ | |
|___ \ __/\__ ( _ ) | |
__) |\ / / _ \ | |
/ __/ /_ _\| (_) | | |
|_____| \/ \___/ | |
equation: 2*8 => 16 | |
____ ____ | |
|___ \ |___ \ | |
__) | _____ __) | | |
/ __/ |_____| / __/ | |
|_____| |_____| | |
equation: 2-2 => 0 | |
__ ___ | |
/ /_ _ ( _ ) | |
| '_ \ _| |_ / _ \ | |
| (_) ||_ _|| (_) | | |
\___/ |_| \___/ | |
equation: 6+8 => 14 | |
_ ___ | |
/ | ( _ ) | |
| | _____ / _ \ | |
| ||_____|| (_) | | |
|_| \___/ | |
equation: 1-8 => -7 | |
____ __ _ | |
|___ \ / // | | |
__) | / / | | | |
/ __/ / / | | | |
|_____|/_/ |_| | |
equation: 2//1 => 2 | |
____ ___ | |
|___ \ / _ \ | |
__) | _____ | (_) | | |
/ __/ |_____| \__, | | |
|_____| /_/ | |
equation: 2-9 => -7 | |
_ ___ | |
/ |__/\__ / _ \ | |
| |\ /| (_) | | |
| |/_ _\ \__, | | |
|_| \/ /_/ | |
equation: 1*9 => 9 | |
_____ __ | |
|___ / __/\__ / /_ | |
|_ \ \ /| '_ \ | |
___) |/_ _\| (_) | | |
|____/ \/ \___/ | |
equation: 3*6 => 18 | |
___ _____ | |
( _ ) __/\__|___ | | |
/ _ \ \ / / / | |
| (_) |/_ _\ / / | |
\___/ \/ /_/ | |
equation: 8*7 => 56 | |
__ __ | |
/ /_ / /_ | |
| '_ \ _____ | '_ \ | |
| (_) ||_____|| (_) | | |
\___/ \___/ | |
equation: 6-6 => 0 | |
____ _____ | |
|___ \ _ |___ / | |
__) | _| |_ |_ \ | |
/ __/ |_ _| ___) | | |
|_____| |_| |____/ | |
equation: 2+3 => 5 | |
_ _ __ _ | |
| || | / // | | |
| || |_ / / | | | |
|__ _| / / | | | |
|_| /_/ |_| | |
equation: 4//1 => 4 | |
_ __ _____ | |
/ | / /|___ | | |
| | / / / / | |
| | / / / / | |
|_|/_/ /_/ | |
equation: 1//7 => 0 | |
___ ___ | |
/ _ \ ( _ ) | |
| (_) | _____ / _ \ | |
\__, ||_____|| (_) | | |
/_/ \___/ | |
equation: 9-8 => 1 | |
_____ __ __ | |
|___ / / / / /_ | |
|_ \ / / | '_ \ | |
___) | / / | (_) | | |
|____/ /_/ \___/ | |
equation: 3//6 => 0 | |
____ ___ | |
|___ \ _ ( _ ) | |
__) | _| |_ / _ \ | |
/ __/ |_ _|| (_) | | |
|_____| |_| \___/ | |
equation: 2+8 => 10 | |
_ _____ | |
/ |__/\__|___ / | |
| |\ / |_ \ | |
| |/_ _\ ___) | | |
|_| \/ |____/ | |
equation: 1*3 => 3 | |
___ ___ | |
/ _ \ __/\__ / _ \ | |
| (_) |\ /| (_) | | |
\__, |/_ _\ \__, | | |
/_/ \/ /_/ | |
equation: 9*9 => 81 | |
__ _____ | |
/ /_ _ |___ / | |
| '_ \ _| |_ |_ \ | |
| (_) ||_ _| ___) | | |
\___/ |_| |____/ | |
equation: 6+3 => 9 | |
_ _ ___ | |
| || | __/\__ ( _ ) | |
| || |_ \ / / _ \ | |
|__ _|/_ _\| (_) | | |
|_| \/ \___/ | |
equation: 4*8 => 32 | |
__ _____ | |
/ /_ __/\__|___ | | |
| '_ \ \ / / / | |
| (_) |/_ _\ / / | |
\___/ \/ /_/ | |
equation: 6*7 => 42 | |
_ _ ___ | |
| || | __/\__ / _ \ | |
| || |_ \ /| (_) | | |
|__ _|/_ _\ \__, | | |
|_| \/ /_/ | |
equation: 4*9 => 36 | |
_____ ___ | |
|___ | _ ( _ ) | |
/ / _| |_ / _ \ | |
/ / |_ _|| (_) | | |
/_/ |_| \___/ | |
equation: 7+8 => 15 | |
_____ _ | |
|___ / / | | |
|_ \ _____ | | | |
___) ||_____|| | | |
|____/ |_| | |
equation: 3-1 => 2 | |
____ ___ | |
|___ \ __/\__ ( _ ) | |
__) |\ / / _ \ | |
/ __/ /_ _\| (_) | | |
|_____| \/ \___/ | |
equation: 2*8 => 16 | |
___ ____ | |
( _ ) _ | ___| | |
/ _ \ _| |_ |___ \ | |
| (_) ||_ _| ___) | | |
\___/ |_| |____/ | |
equation: 8+5 => 13 | |
____ ____ | |
| ___| _ | ___| | |
|___ \ _| |_ |___ \ | |
___) ||_ _| ___) | | |
|____/ |_| |____/ | |
equation: 5+5 => 10 | |
____ __ ____ | |
|___ \ / /| ___| | |
__) | / / |___ \ | |
/ __/ / / ___) | | |
|_____|/_/ |____/ | |
equation: 2//5 => 0 | |
___ ___ | |
/ _ \ __/\__ / _ \ | |
| (_) |\ /| (_) | | |
\__, |/_ _\ \__, | | |
/_/ \/ /_/ | |
equation: 9*9 => 81 | |
____ _____ | |
|___ \ |___ / | |
__) | _____ |_ \ | |
/ __/ |_____| ___) | | |
|_____| |____/ | |
equation: 2-3 => -1 | |
__ _ _ | |
/ /_ _ | || | | |
| '_ \ _| |_ | || |_ | |
| (_) ||_ _||__ _| | |
\___/ |_| |_| | |
equation: 6+4 => 10 | |
_ ___ | |
/ | _ ( _ ) | |
| | _| |_ / _ \ | |
| ||_ _|| (_) | | |
|_| |_| \___/ | |
equation: 1+8 => 9 | |
___ __ ____ | |
/ _ \ / /| ___| | |
| (_) | / / |___ \ | |
\__, | / / ___) | | |
/_/ /_/ |____/ | |
equation: 9//5 => 1 | |
___ _____ | |
( _ ) |___ | | |
/ _ \ _____ / / | |
| (_) ||_____| / / | |
\___/ /_/ | |
equation: 8-7 => 1 | |
__ ___ | |
/ /_ _ / _ \ | |
| '_ \ _| |_ | (_) | | |
| (_) ||_ _| \__, | | |
\___/ |_| /_/ | |
equation: 6+9 => 15 | |
____ __ ___ | |
|___ \ / / ( _ ) | |
__) | / / / _ \ | |
/ __/ / / | (_) | | |
|_____|/_/ \___/ | |
equation: 2//8 => 0 | |
_____ __ ____ | |
|___ | / /| ___| | |
/ / / / |___ \ | |
/ / / / ___) | | |
/_/ /_/ |____/ | |
equation: 7//5 => 1 | |
___ ___ | |
/ _ \ _ / _ \ | |
| (_) | _| |_ | (_) | | |
\__, ||_ _| \__, | | |
/_/ |_| /_/ | |
equation: 9+9 => 18 | |
___ ____ | |
( _ ) | ___| | |
/ _ \ _____ |___ \ | |
| (_) ||_____| ___) | | |
\___/ |____/ | |
equation: 8-5 => 3 | |
_____ __ _____ | |
|___ / / /|___ | | |
|_ \ / / / / | |
___) | / / / / | |
|____/ /_/ /_/ | |
equation: 3//7 => 0 | |
__ _ _ | |
/ /_ _ | || | | |
| '_ \ _| |_ | || |_ | |
| (_) ||_ _||__ _| | |
\___/ |_| |_| | |
equation: 6+4 => 10 | |
___ __ ____ | |
/ _ \ / /|___ \ | |
| (_) | / / __) | | |
\__, | / / / __/ | |
/_/ /_/ |_____| | |
equation: 9//2 => 4 | |
____ __ ____ | |
| ___| / /|___ \ | |
|___ \ / / __) | | |
___) | / / / __/ | |
|____/ /_/ |_____| | |
equation: 5//2 => 2 | |
___ _ _ | |
( _ ) __/\__| || | | |
/ _ \ \ /| || |_ | |
| (_) |/_ _\|__ _| | |
\___/ \/ |_| | |
equation: 8*4 => 32 | |
_ _ ____ | |
| || | __/\__|___ \ | |
| || |_ \ / __) | | |
|__ _|/_ _\ / __/ | |
|_| \/ |_____| | |
equation: 4*2 => 8 | |
_____ ____ | |
|___ / |___ \ | |
|_ \ _____ __) | | |
___) ||_____| / __/ | |
|____/ |_____| | |
equation: 3-2 => 1 | |
____ _ _ | |
| ___| _ | || | | |
|___ \ _| |_ | || |_ | |
___) ||_ _||__ _| | |
|____/ |_| |_| | |
equation: 5+4 => 9 | |
_____ __ | |
|___ | _ / /_ | |
/ / _| |_ | '_ \ | |
/ / |_ _|| (_) | | |
/_/ |_| \___/ | |
equation: 7+6 => 13 | |
_____ ___ | |
|___ / ( _ ) | |
|_ \ _____ / _ \ | |
___) ||_____|| (_) | | |
|____/ \___/ | |
equation: 3-8 => -5 | |
___ __ _ | |
( _ ) / // | | |
/ _ \ / / | | | |
| (_) | / / | | | |
\___/ /_/ |_| | |
equation: 8//1 => 8 | |
_ __ _____ | |
/ | / /|___ / | |
| | / / |_ \ | |
| | / / ___) | | |
|_|/_/ |____/ | |
equation: 1//3 => 0 | |
__ ____ | |
/ /_ |___ \ | |
| '_ \ _____ __) | | |
| (_) ||_____| / __/ | |
\___/ |_____| | |
equation: 6-2 => 4 | |
_____ _ | |
|___ |__/\__/ | | |
/ / \ /| | | |
/ / /_ _\| | | |
/_/ \/ |_| | |
equation: 7*1 => 7 | |
____ _ _ | |
|___ \ | || | | |
__) | _____ | || |_ | |
/ __/ |_____||__ _| | |
|_____| |_| | |
equation: 2-4 => -2 | |
_____ __ ____ | |
|___ | / /|___ \ | |
/ / / / __) | | |
/ / / / / __/ | |
/_/ /_/ |_____| | |
equation: 7//2 => 3 | |
____ __ _____ | |
|___ \ / /|___ | | |
__) | / / / / | |
/ __/ / / / / | |
|_____|/_/ /_/ | |
equation: 2//7 => 0 | |
_____ ____ | |
|___ | |___ \ | |
/ / _____ __) | | |
/ / |_____| / __/ | |
/_/ |_____| | |
equation: 7-2 => 5 | |
_ __ _ | |
/ | / // | | |
| | / / | | | |
| | / / | | | |
|_|/_/ |_| | |
equation: 1//1 => 1 | |
____ ____ | |
| ___| | ___| | |
|___ \ _____ |___ \ | |
___) ||_____| ___) | | |
|____/ |____/ | |
equation: 5-5 => 0 | |
__ _ _ | |
/ /_ | || | | |
| '_ \ _____ | || |_ | |
| (_) ||_____||__ _| | |
\___/ |_| | |
equation: 6-4 => 2 | |
_ _ __ __ | |
| || | / / / /_ | |
| || |_ / / | '_ \ | |
|__ _| / / | (_) | | |
|_| /_/ \___/ | |
equation: 4//6 => 0 | |
__ _____ | |
/ /_ _ |___ / | |
| '_ \ _| |_ |_ \ | |
| (_) ||_ _| ___) | | |
\___/ |_| |____/ | |
equation: 6+3 => 9 | |
_____ __ | |
|___ | / /_ | |
/ / _____ | '_ \ | |
/ / |_____|| (_) | | |
/_/ \___/ | |
equation: 7-6 => 1 | |
_____ ____ | |
|___ | |___ \ | |
/ / _____ __) | | |
/ / |_____| / __/ | |
/_/ |_____| | |
equation: 7-2 => 5 | |
___ __ ___ | |
( _ ) / / / _ \ | |
/ _ \ / / | (_) | | |
| (_) | / / \__, | | |
\___/ /_/ /_/ | |
equation: 8//9 => 0 | |
Connection dropped! | |
FLAG: | |
>securinets{th1s_w4s_g00d_r1ght??} | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment