728x90
문제의 main함수 소스이다.
play함수를 분석해야한다.
소스코드를 보면 랜덤한 6바이트값을 lotto에 받아오고 해당값을 1~45로 맞춰준다.
이후 lotto 값과 우리가 직접 입력해주는 submit 값을 비교한다.
아스키코드표를 보면 1~45중에 직접 입력가능한 데이터는 !"@#$%^&*()- 이다.
문자열 비교하는 부분을 다시 분석해보면
위 부분이 취약하다.
반복문을 잘보면 lotto[i] 를 submit[0~5]까지 모두 검증한다. 위를 통해 lotto 6byte 문자열중 1개만 일치하면 match의 값이 6이 되면서 flag를 얻을 수 있다.
!"@#$%^&*()- 중에 *를 6개를 입력해준다.
lotto에 할당된 랜덤값중 하나가 *과 일치하나보다. flag가 출력된다.
==========================================================================================
로직을 잘 분석해야한다.
자료형을 잘봐야한다. submit 이 char로 선언되어있어 우리가 입력 할 수 있는 문자가 한정적이였다.
728x90
'Wargame_writeup > Pwnable.kr' 카테고리의 다른 글
cmd1 (0) | 2018.12.21 |
---|---|
leg (0) | 2018.12.19 |
random (0) | 2018.12.19 |
blackjack (0) | 2018.12.19 |
shellshock (0) | 2018.12.19 |