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를 수행시켜보자
이 정도면 정석 ㅇㅈ?