Web/Web Hacking (Wargame)

[Dreamhack] Carve Party

728x90

🧐 Wargame - Carve Party

Web Hacking 코스의 DevTools를 공부하고 난 후에 관련된 문제로 Carve Party를 추천하셨길래 풀어봤다!


💁‍♀️풀이 (1) - 실패

문제 설명을 읽었을 때 가장 먼저 10000번 클릭해서 플래그를 얻으라는 말에 클릭 횟수를 강제로 10000으로 만들면 되지 않을까?!라는 생각으로 관련된 부분에 breakpoint를 걸고 counter 변수의 값을 10000으로 설정했다. 하지만 호박도 제대로 Jack'o'lantern이 되지 못하고.. 플래그도 얻지 못했다..

 

 

💁‍♀️풀이 (2) - 성공

$(function() {
  $('#jack-target').click(function () {
    for(var j = 0; j<10000;j++){
      counter += 1;
    if (counter <= 10000 && counter % 100 == 0) {
      for (var i = 0; i < pumpkin.length; i++) {
        pumpkin[i] ^= pie;
        pie = ((pie ^ 0xff) + (i * 10)) & 0xff;
      }
    }
    }
    
    make();
  });

breakpoint를 걸었던 부분에서 이번에는 코드를 수정해 한 번 클릭을 했을 때 counter 값이 10000번이될 때까지 반복되도록 수정했다. 이 때 pumpkin과 pie가 플래그를 출력하는 메인 요소라는 것을 깨달을 수 있다. 실제로 플래그든 아니든 화면에 그려지는 문자열의 수를 세어보면 pumpkin의 길이와 같은 12개인 것을 확인할 수 있다. 

클릭할 때마다 pumpkin 배열이 초기값으로 초기화되는 반면, 한 번 클릭했을 때 해당 pumpkin 의 값을 이중 반복문을 통해 바뀐 값에 계속해서 새로운 값을 덮어쓸 수 있도록 한다.

SMALL

'Web > Web Hacking (Wargame)' 카테고리의 다른 글

[webhacking.kr] old-06  (0) 2022.12.21
[webhacking.kr] old-02  (0) 2022.12.17
[HackCTF] hidden  (0) 2021.08.13
[HackCTF/Web] 1번. /  (0) 2021.08.09
[LOS] 3. goblin  (0) 2021.08.07