webhacking.kr - old54

2021. 1. 25. 13:02WarGame/webhaking.kr

문제 화면

 

접속하면 해당 화면을 볼 수 있습니다.

 

?부분에서 계속 바귀면서 flag를 출력해주는데 하나하나 확인해서 찾을 수 도 있지만 너무 불편합니다.

colorscripter.com/info#e"

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
 
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()",1000);
cs

 

원본은 위와 같습니다.

이를 아래와 같이 조금 변경해주면 " = --> += "

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
 
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()",1000);
cs

 

 

그리고 실행시키면

 

 

 

이런식으로 flag 획득이 가능합니다 :)

 

(grin)

'WarGame > webhaking.kr' 카테고리의 다른 글

webhacking.kr - old11  (0) 2021.03.15
webhacking.kr - old57  (0) 2021.03.07
webhacking.kr - old47  (0) 2021.01.22
webhacking.kr - old58  (0) 2021.01.16
Webhacking.kr 24번  (0) 2018.11.07