반응형

처음에 놀리는 것 처럼 한글자씩 빠르게 지나가다가 ?가 마지막에 나온다.

 

코드를 살펴보자.

function run(){
  if(window.ActiveXObject){
   try {
    return new ActiveXObject('Msxml2.XMLHTTP');
   } catch (e) {
    try {
     return new ActiveXObject('Microsoft.XMLHTTP');
    } catch (e) {
     return null;
    }
   }
  }else if(window.XMLHttpRequest){
   return new XMLHttpRequest();
 
  }else{
   return null;
  }
 }
x=run();
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);

빠르게 i값을 증가시키면서 한글자씩 보내고 마지막에 받을 응답이 더이상 없는 경우 ?를 출력한다.

 

개발자 도구를 통한 코드 수정을 해보아도 잘안되어서 재정의하여 풀어버렸다.

 

function run(){
  if(window.ActiveXObject){
   try {
    return new ActiveXObject('Msxml2.XMLHTTP');
   } catch (e) {
    try {
     return new ActiveXObject('Microsoft.XMLHTTP');
    } catch (e) {
     return null;
    }
   }
  }else if(window.XMLHttpRequest){
   return new XMLHttpRequest();
 
  }else{
   return null;
  }
 }
x=run();
function answer(i){
  x.open('GET','?m='+i,false);
  x.send(null);
  aview.innerHTML+=x.responseText;
  i++;
  if(x.responseText) setTimeout("answer("+i+")",20);
}
setTimeout("answer(0)",1000);

한글자씩 추가하며 계속 출력되도록 만들었고, 마지막에 ?로 덮어띄우는 부분을 없애버렸다.

 

flag가 잘 나온다.

이를 어디에 넣어야할지 헤매다가 본래 홈페이지에 auth칸에 입력하여 푸는 것이라는 것을 알게되었다.

반응형

'webhacking.kr' 카테고리의 다른 글

webhacking.kr [old-24]  (0) 2023.07.13
webhacking.kr [old-05]  (0) 2023.07.13
webhacking.kr [old-10]  (0) 2023.07.13
webhacking.kr [old-03]  (0) 2023.07.13
webhacking.kr [old-26]  (0) 2023.07.13

+ Recent posts