pwnable.kr - coin1

2018. 8. 19. 22:17WarGame/pwnable.kr

방금 막푼 따끈따끈한 coin1문제 ㅠㅠ

알고리즘에 약한나는 열심히 3시간동안 삽질을...

별거없습니다 코인무게재서 이상한무게를가진거 하나 찾으면됩니다! ㅎㅎ

고로 제가 보여드릴자료는 코딩한 그게 전부군요...ㅠ



1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
from pwn import *
 
r = remote("pwnable.kr", 9007)
divnum = 2
def cal(num, result, divnum, a, b, flag) :
        payload = ""
        if (int(result)%int(10) == int(9)) :
                startnum = a
        elif (int(result)%int(10) == int(0)) :
                startnum = b
        if(divnum == 2) :
                startnum = 0
        for i in range(int(startnum), int(startnum) + int(num)/int(divnum)+1) :
                payload += str(i)
                payload += " "
        a = int(startnum)
        b = int(startnum) + (int(num)/int(divnum))+1
        divnum = divnum * 2
        print("payload = %s" % payload)
        r.sendline(payload)
 
        result = r.recvline()
        print(result)
        print(flag)
        flag -= 1
        print(result)
        if "Correct!" in result :
                flag = -1
                print("here is flag = %s" %result)
        if (flag != -1) :               
                cal(num, result, divnum, a, b, flag)
#start
sleep(1)
#call func
print(r.recv())
for a in range(0, 101) :
        if (a == 100) :
                print("[+] oh!!!! congreatulate!!\ni'll make you flag")
                sleep(10)
                print(r.recv())
        print("[+]welcome")
        num = r.recvuntil(" ")
        num = num.split("=")[1]
        flag = int(r.recv().split("=")[1])
        num = int(num[:4])
        result = 0
        print(num)
        print(flag)
        cal(num, result, divnum, 0, 0, flag)
 
 
cs

저는 이런식으로 알고리즘 짰습니다 ㅎㅎ
이런식으로 코딩을하게되면? 결과는

반복문이 100번 돌아간후 이렇게 나오더군요.



후 많이 힘들었습니다 ㅠ

input문제도 이런식으로 풀어지던데 다른문제들풀다가 도전해보겠습니다.

'WarGame > pwnable.kr' 카테고리의 다른 글

pwnable.kr - mistake  (0) 2018.08.20
pwnable.kr blukat  (0) 2018.08.19
pwnable.kr - bof  (0) 2018.08.19
pwnable.kr - random  (0) 2018.08.16
pwnable.kr - collision  (0) 2018.08.03