기타

[HackCTF] 달라란 침공 풀이

e_yejun 2020. 11. 22. 17:50

HackCTF : https://ctf.j0n9hyun.xyz/

 

 

nc도 접속하면 아래 사진 처럼 나온다.

 

여러 수학 문제들을 풀으면 되는 것 같다.

 

 

 

2를 입력해보니 1을 입력했을 때와 다르게 곱하기, 나누기로 이루어져 있는 문제같다.

 

 

 

3은 더하기, 뺴기, 곱하기, 나누기 다 포함하는 것 같다.

 

 

문제가 총 몇개인지는 알 수 없지만 pwntools 모듈로 답을 쉽게 계산해서 입력할 수 있다.

 

pwntools 설치 및 사용법 : she11.tistory.com/2

 

 

20번을 기준으로 여러번 해보니 1은 20문제, 2는 30문제, 3은 40문제였다.

각각 문제 수 만큼 반복시키면서 모든 문제를 해결하게 되면 플래그를 얻을 수 있다.

 

 

from pwn import *

p = remote('ctf.j0n9hyun.xyz', 9003)

print(p.recvuntil('input ) '))
p.send('1\n')
for i in range(0, 20):
	p.recvline()
    line = p.recvline()
    line = line.replace('\n','')
    print(line)
    result = eval(line)
    print(result)
    p.send(str(result) + '\n')
    p.recvline()
    
print(p.recvuntil('input ) '))
p.send('2\n')
for i in range(0, 30):
	p.recvline()
    line = p.recvline()
    line = line.replace('\n','')
    print(line)
    result = eval(line)
    print(result)
    p.send(str(result) + '\n')
    p.recvline()
    
print(p.recvuntil('input ) '))
p.send('3\n')
for i in range(0, 40):
	p.recvline()
    line = p.recvline()
    line = line.replace('\n','')
    print(line)
    result = eval(line)
    print(result)
    p.send(str(result) + '\n')
    p.recvline()
    
p.interactive()