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

+ Recent posts