문제풀이 바로 시작하겠습니다.

 

1. 문제 

 

문제를 보니, Score to beat 값이 999999이며, Give a try! 버튼을 클릭하여 저 숫자보다 높은 숫자를 얻어 내는 게 문제의 해결책인 것 같다.


2. 문제풀이

 

먼저 혹시모르기에 Give a try! 버튼을 눌러보았다.

 

값이 90만 근접하게 나오지만 99만을 이길 값이 나오지 않았다.

 

어떻게 생겨먹었는지 요청 패킷을 잡아보았다.

 

버튼을 누르니 score 값이 바로 정해지며 떨어졌다.

 

응답 값이 어떻게 구성되어있는지 확인해 보았다.

 

Math.random 값과 1000001 값을 곱하여 Math.floor 함수를 통해 score 값이 정해지는 것 같다.

 

하지만 지속적으로 10만 자리가 나오는 것을 보아 저 함수에서 장난질을 치는 것 같다...

 

함수의 내용을 확인할 수는 없기에 요청 패킷에서부터 Score값을 장난질 쳐보기로 했다.

 

요청 패킷의 score 값을 100만으로 변조시켜 장난질을 쳐보았다.

 

까암짝 놀라면서 플래그 값을 내뱉어준다.

 

역시 기계는 인간을 이기기엔 아직 역부족인 것 같다.

 

얻은 플래그 값을 검증해보니...

 

파랑새가 나와 나를 반겨주었다~

 

문제풀이 끄읏~

역시 인간은 위대하다.

복사했습니다!