본문 바로가기

WarGame/Webhacking.kr

old - 54

문제 접속 시,

Flag로 보이는 문자열들이 빠르게 지나가는 것을 볼 수 있었다.

요청 응답 히스토리를 살펴보니

m이라는 매개변수를 통해

Flag 문자열 값이 하나 씩

응답되고 있는 것을 볼 수 있다.

해당 응답 모두 확인해서 문자열을 합쳐보니

FLAG{a7981201c48d0ece288afd01ca43c55b}

Flag를 얻을 수 있었다.

더보기

페이지 소스코드를 살펴보니

function answer(i){
  x.open('GET','?m='+i,false);
  x.send(null);
  aview.innerHTML=x.responseText;
  i++;
  if(x.responseText) setTimeout("answer("+i+")",20);
  if(x.responseText=="") aview.innerHTML="?";
}
setTimeout("answer(0)",1000);

FLAG 문자열을 가져오는 듯한 answer 함수를 볼 수 있었다.

function answer(i){
  x.open('GET','?m='+i,false);
  x.send(null);
  aview.innerHTML+=x.responseText; // innerHTML에 respnseText 값을 누적 저장
  i++;
  if(x.responseText) setTimeout("answer("+i+")",20);
}
answer(0);

 FLAG 문자열로 보이는 responseText 값을 하나하나 가져올 때,

+= 연산자를 통해 innerHTML 값에 누적으로 문자열을 넣어주도록 코드를 수정했다. 

그리고 responseText 문자열이 모두 불러와 졌을 시, ? 를 띄우는 코드를 삭제했다.

수정된 js 코드를 Console 기능을 통해 동작시키니

하나 씩 출력되던 FLAG 문자열이

화면에 누적되면서 출력되는 모습을 볼 수 있었다.

'WarGame > Webhacking.kr' 카테고리의 다른 글

old-15  (0) 2024.06.04
old-24  (0) 2024.06.04