본문 바로가기
Wargame Write-Up/HackCTF

[HackCTF] (Misc) 달라란침공 풀이

by snwo 2020. 3. 11.

접속하면 덧셈뺄셈으로 침공을 할수가있다. 하지만 이걸 몇번이나 하는지는 모르겠다.


나눗셈도 있는걸 보니 곰셈도 있을것 같다.


1스테이지는 덧셈뺄셈, 2스테이지는 나눗셈곱셈, 3스테이지는 사칙연산인 것 같다.

 

시간제약은 없으나, 직접하면 날이 새기때문에 pwntools를 이용해 소스를 짜주자


[python]

from pwn import *
p=remote("ctf.j0n9hyun.xyz",9003)


def four(a,b,c):
        if c=='+':
                return a+b
        if c=='-':
                return a-b
        if c=='*':
                return a*b
        if c=='/':
                return a/b


def stage(a,n):
        print p.recvuntil("input )")
        p.sendline(str(a))
        for i in range(0,n):
                print p.recvline()
                s=p.recvline()
                s=s.replace("\n","")
                s=s.split(" ")
                payload=four(int(s[0]),int(s[2]),s[1])
                print p.recvuntil(":")
                print str(payload)
                p.sendline(str(payload))
                print p.recvline()

if __name__=="__main__":
        stage(1,20)
        stage(2,30)
        stage(3,40)
        print p.recv(200)

화면에 출력된값을 가져와

연산기호를 파악연산을 한 뒤,

값을 보내주는 소스를 작성했다.

 

1스테이지는 20차까지있고,

2스테이지는 30차,

3스테이지는 40차까지 있는걸

노가다를 통해 확인했다.

 

3스테이지까지 깨고 출력값을 받아오면 FLAG를 확인할 수 있다.

 

FLAG

더보기
Try yourself please.