[CTF write up] Codegate CTF 2022 Junior - UDgame : UP and Down Misc
2022. 2. 27. 18:11ㆍCTF write up
from pwn import *
import random
context.log_level = 'debug'
p = remote("52.79.50.189", 4321)
def check(inp):
p.sendlineafter(b':',str(inp))
res = p.recvuntil(b'!')
print(res)
if b'codegate' in res:
p.interactive()
if b'DOWN' in res:
return 'DOWN'
elif b'UP' in res:
return 'UP'
elif b'funny' in res:
return '??'
else:
return 'True'
con = 1
p.sendlineafter(b'>',b'y')
while(True):
if con == 0:
break
a = 1000000000000
b = int(a / 2)
a = int(a/2)
while(True):
res = check(a)
if 'DOWN' in res:
b = int(b / 2) + 1
a = int(a - b)
elif 'UP' in res:
b = int(b / 2)
a = int(a + b) + 1
elif '??' in res:
con = 1
break
else:
con = 0
break
print(a)
p.interactive()
아무리해도 플래그가 안나와서 계속 수정하다보니 코드가 못생겨졌다. 결국 | grep codegate 을 이용하여 플래그를 건져냈다. 상당히 오래동안 실행해야된다...