Dyrandy

[Wargame.kr] 워게임 Fly Me To The Moon 500p 본문

Wargame WriteUp/WarGame.kr

[Wargame.kr] 워게임 Fly Me To The Moon 500p

Dyrandy 2017. 6. 9. 11:25

 

오늘은 Wargame.kr을 풀었습니다.

Fly Me To The Moon을 풀었는데요,

어디서 많이 들어 봤다 했는데, 어디 노래 가사더라고요,

 

일단 문제를 보면, 딱!

 

 

이런 게임이 나옵니다. 한번 플레이를 해보았는데요... 제가 이런거 잘 못해서

점수가 형편이 없습니다....

 

 

점수 31337 점을 얻으라 하네요...

너무하네...

 

일단 소스를 보면요...

 

<script type="text/javascript">
eval(function(p,a,c,k,e,d){e=function(c){return c};if(!''.replace(/^/,String)){while(c--){d[c]=k[c]||c}k=[function(e){return d[e]}];e=function(){return'\\w+'};c=1};while(c--){if(k[c]){p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c])}}return p}('76 58=["\\89\\66\\68\\68\\154\\68\\67\\92\\59\\71","\\70\\74\\59\\70\\89\\136\\66\\86\\59","\\81\\59\\63\\118\\70\\61\\71\\59","\\124\\66\\64\\70\\118\\70\\61\\71\\59","\\69\\74\\71\\66\\64\\89\\98\\78\\64\\64\\59\\68","\\97\\66\\84\\63\\74\\98\\78\\64\\64\\59\\68","\\61\\104\\148\\59\\70\\63","\\159\\61\\90\\70\\74\\59\\67\\63\\66\\64\\81\\155\\90\\66\\86\\90\\92\\61\\78\\90\\70\\67\\64","\\97\\67\\71\\64","\\61\\86\\86\\69\\59\\63\\136\\59\\86\\63","\\63\\78\\64\\64\\59\\68","\\81\\59\\63\\170\\68\\59\\85\\59\\64\\63\\124\\92\\142\\84","\\63\\61\\77","","\\77\\112","\\70\\69\\69","\\84\\66\\69\\77\\68\\67\\92","\\104\\68\\61\\70\\89","\\59\\67\\70\\74","\\66\\85\\81\\107\\68\\59\\86\\63\\111\\97\\67\\68\\68","\\66\\85\\81\\107\\71\\66\\81\\74\\63\\111\\97\\67\\68\\68","\\91\\74\\66\\81\\74\\111\\69\\70\\61\\71\\59\\69","\\71\\59\\85\\61\\103\\59","\\63\\67\\104\\68\\59","\\64\\61\\64\\59","\\84\\66\\103\\91\\69\\70\\61\\71\\59\\111\\63\\67\\104\\68\\59","\\70\\68\\66\\70\\89","\\63\\59\\112\\63","\\69\\77\\67\\64\\91\\69\\70\\61\\71\\59","\\68\\59\\86\\63","\\66\\85\\81\\91\\69\\74\\66\\77","\\69\\68\\61\\97","\\86\\67\\84\\59\\142\\64","\\104\\67\\70\\89\\81\\71\\61\\78\\64\\84\\149\\77\\61\\69\\66\\63\\66\\61\\64","\\168\\167\\164\\90","\\84\\66\\103\\91\\63\\78\\64\\64\\59\\68","\\71\\67\\64\\84\\61\\85","\\86\\68\\61\\61\\71","\\78\\77\\84\\67\\63\\59\\98\\78\\64\\64\\59\\68\\143\\150","\\86\\67\\84\\59\\151\\78\\63","\\154\\151\\118\\98","\\74\\66\\81\\74\\149\\69\\70\\61\\71\\59\\69\\107\\77\\74\\77","\\63\\61\\89\\59\\64\\146","\\169\\69\\70\\61\\71\\59\\146","\\67\\148\\67\\112","\\74\\63\\85\\68","\\77\\91\\97\\59\\68\\70\\61\\85\\59","\\78\\77\\84\\67\\63\\59\\98\\61\\89\\59\\64\\143\\150","\\63\\74\\112\\155\\90\\152\\74\\71\\66\\69\\63\\66\\67\\64\\90\\145\\61\\64\\63\\61\\92\\67","\\85\\61\\78\\69\\59\\61\\103\\59\\71","\\91\\70\\74\\71\\66\\69\\63\\66\\67\\64","\\85\\61\\78\\69\\59\\61\\78\\63","\\71\\59\\67\\84\\92","\\152\\74\\71\\66\\69\\63\\66\\67\\64\\90\\145\\61\\64\\63\\61\\92\\67","\\77\\67\\81\\59\\175","\\85\\61\\78\\69\\59\\85\\61\\103\\59","\\63\\61\\89\\59\\64\\107\\77\\74\\77","\\81\\59\\63"];62 119(){76 174=73;76 108=93;62 141(){108=173;79 93};62 130(){79 108};73[58[0]]=62(){141();79 93};73[58[1]]=62(){79 130()};76 116=0;62 131(){79 116};62 133(){72(108){116++};79 93};73[58[2]]=62(){79 131()};73[58[3]]=62(){133();79 93};76 123=161;62 138(){123-=20;79 93};62 144(){79 123};73[58[4]]=62(){138();79 93};73[58[5]]=62(){79 144()}};76 95=0;76 110=0;76 134=125;76 75=117;76 94=117;76 101=0;76 102=0;76 99=0;76 96=0;82=106 127(20);88=106 127(20);62 153(){87=106 119();72(58[6]==135 105){105[58[8]](58[7])};110=121[58[11]](58[10])[58[9]];134+=110;65=0;122(65=0;65<20;65++){82[65]=80;88[65]=137};$(58[19])[58[18]](62(83){65=83*25;$(73)[58[15]](58[12],58[13]+65+58[14]);$(73)[58[15]](58[16],58[17])});$(58[20])[58[18]](62(83){65=83*25;$(73)[58[15]](58[12],58[13]+65+58[14]);$(73)[58[15]](58[16],58[17])});$(58[25])[58[26]](62(){$(58[23])[58[22]](58[21]);$(58[25])[58[15]](58[16],58[24]);132();114()})};62 132(){87=106 119();72(58[6]==135 105){105[58[8]](58[7])};75=117;101=0;102=0;99=0;$(58[28])[58[27]](58[13]+0);$(58[30])[58[15]](58[29],75+58[14]);65=0;122(65=0;65<20;65++){82[65]=80;88[65]=137};$(58[30])[58[32]](58[31]);$(58[19])[58[18]](62(83){65=83*25;$(73)[58[15]](58[12],58[13]+65+58[14]);$(73)[58[15]](58[16],58[17])});$(58[20])[58[18]](62(83){65=83*25;$(73)[58[15]](58[12],58[13]+65+58[14]);$(73)[58[15]](58[16],58[17])})};62 114(){95=95+2;72(95>20){95=0};$(58[35])[58[15]](58[33],58[34]+95+58[14]);72(75+32<125){72(75+46<94){75+=4}109{72(75+16<94){75+=2}}};72(75>0){72(75-14>94){75-=4}109{72(75+16>94){75-=2}}};$(58[30])[58[15]](58[29],75+58[14]);102++;72(102>60){102=0;96=126[58[37]](126[58[36]]()*2)};72(82[0]<10){96=1}109{72(88[0]>166){96=0}};65=0;122(65=20;65>0;65--){82[65]=82[65-1];88[65]=88[65-1]};72(96==0){82[0]-=3};72(96==1){82[0]+=3};88[0]=82[0]+87[58[5]]();$(58[19])[58[18]](62(83){$(73)[58[15]](58[29],58[13]+82[83]+58[14])});$(58[20])[58[18]](62(83){$(73)[58[15]](58[29],58[13]+88[83]+58[14])});72(87[58[5]]()>=120){99++;72(99>100){99=0;87[58[4]]();82[0]+=10}};101++;72(101>20){101=0;87.165();$(58[28])[58[27]](58[13]+87[58[2]]())};72(75<=82[18]+20||75+32>=88[18]){87[58[0]]()};72(87[58[1]]()){158(58[38],10)}109{$(58[30])[58[39]](58[31]);$(58[19])[58[15]](58[16],58[24]);$(58[20])[58[15]](58[16],58[24]);$[58[44]]({171:58[40],156:58[41],162:58[42]+115+58[43]+87[58[2]](),157:62(113){147(113)}})}};62 160(){79};62 147(113){$(58[25])[58[45]](113);$(58[25])[58[15]](58[16],58[17])};$(121)[58[52]](62(){$(58[46])[58[15]](58[16],58[17]);140();163(58[47],172);$(58[46])[58[26]](62(){$(58[46])[58[15]](58[16],58[24]);153();114()});$(58[50])[58[49]](62(){$(73)[58[45]](58[48])});$(58[50])[58[51]](62(){$(73)[58[45]](139)})});76 139=58[53];$(121)[58[55]](62(129){94=129[58[54]]-110});76 115=58[13];62 140(){$[58[57]](58[56],62(128){115=128})};',10,176,'||||||||||||||||||||||||||||||||||||||||||||||||||||||||||_0x32bb|x65||x6F|function|x74|x6E|y|x69|x61|x6C|x73|x63|x72|if|this|x68|ship_x|var|x70|x75|return||x67|left_wall|_0x8618x16|x64|x6D|x66|BTunnelGame|right_wall|x6B|x20|x23|x79|true|pos_x|bg_val|t_state|x77|x54|c_w||c_s|c_r|x76|x62|console|new|x2E|_0x8618x3|else|rail_left|x5F|x78|_0x8618x19|updateTunnel|token|_0x8618x6|234|x53|secureGame||document|for|_0x8618x9|x42|500|Math|Array|_0x8618x20|_0x8618x1d|_0x8618x5|_0x8618x7|restartTunnel|_0x8618x8|rail_right|typeof|x4C|400|_0x8618xa|temp|updateToken|_0x8618x4|x49|x28|_0x8618xb|x4D|x3D|showHighScores|x6A|x2D|x29|x4F|x43|initTunnel|x50|x2C|url|success|setTimeout|x44|scoreUpdate|320|data|setInterval|x25|BincScore|470|x30|x35|x26|x45|type|10000|false|_0x8618x2|x58'.split('|'),0,{}))

</script>

이렇게 나오는데요... 이걸 Unpacker을 통해

 

http://matthewfl.com/unPacker.html

(이 사이트를 이용했음)

 

function secureGame()
 {
 var _0x8618x2=this;
 var _0x8618x3=true;
 function _0x8618x4()
  {
  _0x8618x3=false;
  return true
 };
 function _0x8618x5()
  {
  return _0x8618x3
 };
 this[_0x32bb[0]]=function()
  {
  _0x8618x4();
  return true
 };
 this[_0x32bb[1]]=function()
  {
  return _0x8618x5()
 };
 var _0x8618x6=0;
 function _0x8618x7()
  {
  return _0x8618x6
 };
 function _0x8618x8()
  {
  if(_0x8618x3)
   {
   _0x8618x6++
  };
  return true
 };
 this[_0x32bb[2]]=function()
  {
  return _0x8618x7()
 };
 this[_0x32bb[3]]=function()
  {
  _0x8618x8();
  return true
 };
 var _0x8618x9=320;
 function _0x8618xa()
  {
  _0x8618x9-=20;
  return true
 };
 function _0x8618xb()
  {
  return _0x8618x9
 };
 this[_0x32bb[4]]=function()
  {
  _0x8618xa();
  return true
 };
 this[_0x32bb[5]]=function()
  {
  return _0x8618xb()
 }
};
var bg_val=0;
var rail_left=0;
var rail_right=500;
var ship_x=234;
var pos_x=234;
var c_s=0;
var c_r=0;
var c_w=0;
var t_state=0;
left_wall=new Array(20);
right_wall=new Array(20);
function initTunnel()
 {
 BTunnelGame=new secureGame();
 if(_0x32bb[6]==typeof console)
  {
  console[_0x32bb[8]](_0x32bb[7])
 };
 rail_left=document[_0x32bb[11]](_0x32bb[10])[_0x32bb[9]];
 rail_right+=rail_left;
 y=0;
 for(y=0;
 y<20;
 y++)
  {
  left_wall[y]=80;
  right_wall[y]=400
 };
 $(_0x32bb[19])[_0x32bb[18]](function(_0x8618x16)
  {
  y=_0x8618x16*25;
  $(this)[_0x32bb[15]](_0x32bb[12],_0x32bb[13]+y+_0x32bb[14]);
  $(this)[_0x32bb[15]](_0x32bb[16],_0x32bb[17])
 }
 );
 $(_0x32bb[20])[_0x32bb[18]](function(_0x8618x16)
  {
  y=_0x8618x16*25;
  $(this)[_0x32bb[15]](_0x32bb[12],_0x32bb[13]+y+_0x32bb[14]);
  $(this)[_0x32bb[15]](_0x32bb[16],_0x32bb[17])
 }
 );
 $(_0x32bb[25])[_0x32bb[26]](function()
  {
  $(_0x32bb[23])[_0x32bb[22]](_0x32bb[21]);
  $(_0x32bb[25])[_0x32bb[15]](_0x32bb[16],_0x32bb[24]);
  restartTunnel();
  updateTunnel()
 }
 )
};
function restartTunnel()
 {
 BTunnelGame=new secureGame();
 if(_0x32bb[6]==typeof console)
  {
  console[_0x32bb[8]](_0x32bb[7])
 };
 ship_x=234;
 c_s=0;
 c_r=0;
 c_w=0;
 $(_0x32bb[28])[_0x32bb[27]](_0x32bb[13]+0);
 $(_0x32bb[30])[_0x32bb[15]](_0x32bb[29],ship_x+_0x32bb[14]);
 y=0;
 for(y=0;
 y<20;
 y++)
  {
  left_wall[y]=80;
  right_wall[y]=400
 };
 $(_0x32bb[30])[_0x32bb[32]](_0x32bb[31]);
 $(_0x32bb[19])[_0x32bb[18]](function(_0x8618x16)
  {
  y=_0x8618x16*25;
  $(this)[_0x32bb[15]](_0x32bb[12],_0x32bb[13]+y+_0x32bb[14]);
  $(this)[_0x32bb[15]](_0x32bb[16],_0x32bb[17])
 }
 );
 $(_0x32bb[20])[_0x32bb[18]](function(_0x8618x16)
  {
  y=_0x8618x16*25;
  $(this)[_0x32bb[15]](_0x32bb[12],_0x32bb[13]+y+_0x32bb[14]);
  $(this)[_0x32bb[15]](_0x32bb[16],_0x32bb[17])
 }
 )
};
function updateTunnel()
 {
 bg_val=bg_val+2;
 if(bg_val>20)
  {
  bg_val=0
 };
 $(_0x32bb[35])[_0x32bb[15]](_0x32bb[33],_0x32bb[34]+bg_val+_0x32bb[14]);
 if(ship_x+32<500)
  {
  if(ship_x+46<pos_x)
   {
   ship_x+=4
  }
  else
   {
   if(ship_x+16<pos_x)
    {
    ship_x+=2
   }
  }
 };
 if(ship_x>0)
  {
  if(ship_x-14>pos_x)
   {
   ship_x-=4
  }
  else
   {
   if(ship_x+16>pos_x)
    {
    ship_x-=2
   }
  }
 };
 $(_0x32bb[30])[_0x32bb[15]](_0x32bb[29],ship_x+_0x32bb[14]);
 c_r++;
 if(c_r>60)
  {
  c_r=0;
  t_state=Math[_0x32bb[37]](Math[_0x32bb[36]]()*2)
 };
 if(left_wall[0]<10)
  {
  t_state=1
 }
 else
  {
  if(right_wall[0]>470)
   {
   t_state=0
  }
 };
 y=0;
 for(y=20;
 y>0;
 y--)
  {
  left_wall[y]=left_wall[y-1];
  right_wall[y]=right_wall[y-1]
 };
 if(t_state==0)
  {
  left_wall[0]-=3
 };
 if(t_state==1)
  {
  left_wall[0]+=3
 };
 right_wall[0]=left_wall[0]+BTunnelGame[_0x32bb[5]]();
 $(_0x32bb[19])[_0x32bb[18]](function(_0x8618x16)
  {
  $(this)[_0x32bb[15]](_0x32bb[29],_0x32bb[13]+left_wall[_0x8618x16]+_0x32bb[14])
 }
 );
 $(_0x32bb[20])[_0x32bb[18]](function(_0x8618x16)
  {
  $(this)[_0x32bb[15]](_0x32bb[29],_0x32bb[13]+right_wall[_0x8618x16]+_0x32bb[14])
 }
 );
 if(BTunnelGame[_0x32bb[5]]()>=120)
  {
  c_w++;
  if(c_w>100)
   {
   c_w=0;
   BTunnelGame[_0x32bb[4]]();
   left_wall[0]+=10
  }
 };
 c_s++;
 if(c_s>20)
  {
  c_s=0;
  BTunnelGame.BincScore();
  $(_0x32bb[28])[_0x32bb[27]](_0x32bb[13]+BTunnelGame[_0x32bb[2]]())
 };
 if(ship_x<=left_wall[18]+20||ship_x+32>=right_wall[18])
  {
  BTunnelGame[_0x32bb[0]]()
 };
 if(BTunnelGame[_0x32bb[1]]())
  {
  setTimeout(_0x32bb[38],10)
 }
 else
  {
  $(_0x32bb[30])[_0x32bb[39]](_0x32bb[31]);
  $(_0x32bb[19])[_0x32bb[15]](_0x32bb[16],_0x32bb[24]);
  $(_0x32bb[20])[_0x32bb[15]](_0x32bb[16],_0x32bb[24]);
  $[_0x32bb[44]](
   {
   type:_0x32bb[40],url:_0x32bb[41],data:_0x32bb[42]+token+_0x32bb[43]+BTunnelGame[_0x32bb[2]](),success:function(_0x8618x19)
    {
    showHighScores(_0x8618x19)
   }
  }
  )
 }
};
function scoreUpdate()
 {
 return
};
function showHighScores(_0x8618x19)
 {
 $(_0x32bb[25])[_0x32bb[45]](_0x8618x19);
 $(_0x32bb[25])[_0x32bb[15]](_0x32bb[16],_0x32bb[17])
};
$(document)[_0x32bb[52]](function()
 {
 $(_0x32bb[46])[_0x32bb[15]](_0x32bb[16],_0x32bb[17]);
 updateToken();
 setInterval(_0x32bb[47],10000);
 $(_0x32bb[46])[_0x32bb[26]](function()
  {
  $(_0x32bb[46])[_0x32bb[15]](_0x32bb[16],_0x32bb[24]);
  initTunnel();
  updateTunnel()
 }
 );
 $(_0x32bb[50])[_0x32bb[49]](function()
  {
  $(this)[_0x32bb[45]](_0x32bb[48])
 }
 );
 $(_0x32bb[50])[_0x32bb[51]](function()
  {
  $(this)[_0x32bb[45]](temp)
 }
 )
}
);
var temp=_0x32bb[53];
$(document)[_0x32bb[55]](function(_0x8618x1d)
 {
 pos_x=_0x8618x1d[_0x32bb[54]]-rail_left
}
);
var token=_0x32bb[13];
function updateToken()
 {
 $[_0x32bb[57]](_0x32bb[56],function(_0x8618x20)
  {
  token=_0x8618x20
 }
 )
};

 

이런게 나오는데요....

으메 길다...

해서 다른 방법으로 풀어야겠다 생각해서,

Burp를 켰습니다.

 

 

 

http response를 확인 해보면 이런게 뜹니다.

token이 저희에게 주는 값인데 이건 우리가 score을 나중에 바꿔서 다시

못들어가게 방지하는 것 같습니다.

 

그리하여

버프로

 

 

 

 

이렇게 뜨는거 확인!

 

 

 

Repeater로 보내서

 

확인된 score

 

 

이걸 변경 시키고

Go를 눌러준다!

 

 

그럼 이렇게 똭!

 

끝!

 

 

Comments