WEB/webhacking.kr (old)

webhacking.kr 54번

hongjw 2020. 2. 16. 18:45

challenge 54 첫화면

문제를 누르자마자, FLAG값이 한글자씩 호다닫ㄱ 나오더니 마지막에 ?로 끝나버린다 ( ̄(エ) ̄)ノ

소스코드를 보니 answer함수가 실행돼서 그러는 것같다.

script 코드

함수 내용을 보면, 0.02초마다 재귀함수를 이용해 계속 다른 값을 대입하면서 aview.innerHTML의 값을 바꾼다.

이를 반복하다가 x.responseText값이 없으면 ?로 바꾸는 것이다. 그래서 마지막에 ?로 끝나는 것.,

 

문제를 해결하기 위해서는 answer함수를 수정해야한다.

나는 크롬 개발자도구를 이용해 코드를 수정했다.

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

코드 수정은 aview.innerHTML=x.responseText; 부분을 aview.innerHTML+=x.responseText;로 바꿔준다.

그러면, 문자가 한문자씩 계속 바뀌어서 보이지않고 문자가 쌓이게 될 것이다.

또 마지막에 if(x.responseText=="") aview.innerHTML="?"; 부분을 삭제해주면, 값이 없어도 ?로 바뀌지 않고 우리가 보고자하는 FLAG값이 계속 남아있을 것이다. (๑❛ڡ❛๑) 

console 창

문제 해결 ~~~!~!

'WEB > webhacking.kr (old)' 카테고리의 다른 글

webhacking.kr 58번  (0) 2020.02.18
webhacking.kr 56번  (0) 2020.02.17
webhacking.kr 51번  (0) 2020.02.16
webhacking.kr 47번  (0) 2020.02.14
webhacking.kr 43번  (0) 2020.02.13