본문 바로가기

Pwnable.kr

Pwnable.kr [blackjack]

음 먼저 코드 분석을 하지는 않았고, 그 전에 우선 입력값 검사가 제대로 되어 있는지 확인했다.

 

하다보면, 이기면 베팅한 만큼 돈을 얻고, 지면 돈을 잃는데,

베팅 금액은 현재 금액을 넘길 수 없다.

 

하지만 베팅을 -로 하고 게임을 진다면? 이라고 생각했고 바로 됐다.

 

결과가 그렇게 나왔으니, 역으로 소스코드를 확인해보면

베팅이라는 함수에서 bet > cash만 검사하는 것을 볼 수 있다. 

int betting() //Asks user amount to bet
{
 printf("\n\nEnter Bet: $");
 scanf("%d", &bet);
 
 if (bet > cash) //If player tries to bet more money than player has
 {
        printf("\nYou cannot bet more money than you have.");
        printf("\nEnter Bet: ");
        scanf("%d", &bet);
        return bet;
 }
 else return bet;
} // End Function

 

그리고 게임 결과에 따라 cash -= bet 또는 cash += bet 형식으로 계산을 하고 있으니

 

해당 부분이 문제이다. 

'Pwnable.kr' 카테고리의 다른 글

Pwnable.kr [cmd1]  (0) 2019.05.02
Pwnable.kr [lotto]  (0) 2019.05.02
Pwnable.kr [coin1]  (0) 2019.05.01
Pwnable.kr [shellshock]  (0) 2019.05.01
Pwnable.kr [mistake]  (0) 2019.05.01