Webhacking.kr

[Webhacking.kr] old-54 풀이

minnggyuu 2024. 7. 12. 19:07

문제 페이지

문제 페이지이다. Password is [ ] 라는 문장 하나가 있고 [ ] <- 이 부분이 슉슉 굉장히 빠르게 바뀐다. 

슈슉 시발롬아 바뀌지마라

자세히 보니 FLAG로 시작하는 것 같으니 아마 flag 값을 빨리 보여주는 듯 하다.

 

<script>
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);
</script>

 

스크립트 코드이다. 

 

run() 과  answer() 두 개의 함수가 정의되어 있다. 

 

answer 함수가 플래그와 연관되어 있는 것 같아 console에 answer()을 입력해 봤는데 안된다

 

그냥 다 복사해서 붙여봤다. 다시 동작했다.

 

잘 보면 setTimeout이 20으로 설정돼 있는데 저걸 한 500정도로 바꾸면 느리게 가지 않을까?

 

됩니다

ㅎㅎ 된다

이새기 가라치네 야매로 문제푸네 -> 이 친구 신박하네

 

그것도 그렇고 플래그가 너무 길어서 다른 방법을 생각해 봐야겠다

 

저 바뀌는 텍스트를 받아서 어떤 변수에 += 하면 되지 않을까

 

x.responseText가 바뀌는 텍스트같으므로 flag라는 변수를 만들어서 바뀔 때 마다 flag+= x.responseText를 수행시켜보자

 

 

이 정도면 정석 ㅇㅈ?