CTF | wargame

Alexctf / math bot (반복 소켓 연산)

nopdata 2017. 3. 11. 04:28
date : `17.02


It is well known that computers can do tedious math faster than human.

그냥 수학문제가 엄청 많이 반복되는 서버가 있다. 수학문제는 단순 연산으로 그냥 소켓 연결 소스코드를 작성하면 된다.

보통 소켓 문제를 풀 때 socket 모듈을 사용하였는데 오가는 정보는 볼 필요가 없으나 진행 정도는 보고 싶은 경우가 많았다.
bring weakness 문제를 보니 이를 간단히 pwntool을 이용할 수 있을 것 같아서 소스코드를 약간 변형해서 작성을 해 보았다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
from pwn import *
sock = remote('195.154.53.62',1337)
 
= 0
= log.progress('Calc numbers')
try:
    while True:
        tmp = sock.recv(4096)
        print tmp
        qes = tmp.split('\n')[-2].split(' =')[0]
        sock.send(str(eval(qes))+'\n')
        p.status('Calc %d numbers' % i)
        i += 1
except:
    p.sucess('End Calc %s'%tmp)
cs


Flag : ALEXCTF{1_4M_l33t_b0t}