처음에 놀리는 것 처럼 한글자씩 빠르게 지나가다가 ?가 마지막에 나온다.
코드를 살펴보자.
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 |