반응형

JavaScript / 페이지 이동 (location.href, replace,reload, history.go)

 

location.href

다른 페이지로 이동하는데도 사용됩니다.

이전 페이지의 히스토리가 남습니다.

 

location.href("이동할 주소");

<script> 
	location.href("www.naver.com"); // 이전페이지 히스토리가 남음
</script>  

 

location.replace

다른 페이지로 이동하는데도 사용됩니다.

이전 페이지의 히스토리가 남지 않습니다.

 

location.replace("이동할 주소");

<script> 
	location.replace("www.naver.com");    // 이전페이지 히스토리가 남지 않음.
</script>  

 

location.reload

현재 페이지를 새로고침 할 때 사용됩니다.

 

location.reload();

<script> 
	location.reload();      // 현재페이지 새로고침.
</script> 

 

history.go

() 안의 값이 현재페이지에 대한 상대좌표로 사용되어 이동됩니다. 

history.go(-1)은 history.back()과 동일하게 동작하며, 이전 페이지로 이동됩니다. 

<script> 
	history.go(-1);   // 이전페이지 가기
    history.go(0);    // 현재 페이지 새로고침
    history.go(-2);   // 두 단계 전 페이지 가기
</script>  

 

반응형
반응형

webhacking.kr 문제 풀이 / Challenge(old) - 15번 문제 (50)

 

 

코드를 보려고 해도 나오지 않습니다. 

javascript 때문에 튕겨져 나오는 듯 한데, javascript가 실행되지 않도록 설정해보겠습니다. 

 

 

자바스크립트를 차단하고, 문제 사이트에 접속해 보겠습니다. 

팝업은 뜨지 않고, 코드도 확인할 수 있습니다. 

아래 코드를 보면 팝업 창을 띄우고, 이전 화면으로 돌아가게 되어 있고, 그 이후에 ?getFlag로 이동하게 되어 있습니다. 

이전 화면으로 가기 때문에 ?getFlag 페이지로 이동하지 못하였는데, 주소창에 ?getFlag를 입력하여 보겠습니다. 

아래와 같이 입력하였더니, 50점을 획득할 수 있었습니다.

반응형
반응형

webhacking.kr 문제 풀이 / Challenge(old) - 14번 문제 (100)

이번 문제는 어떠한 값을 입력하고 check 버튼을 누르는 것으로 보입니다. 

우선 개발자 코드(F12)를 확인해 보겠습니다. 

 

코드를 보면 script 안에 pw 넣는 부분과 check 버튼을 눌렀을 때의 동작에 대한 코드가 있습니다. 

check 버튼을 눌렀을 때의 동작에 대한 코드인 ck() 함수를 살펴보겠습니다. 

우선 변수 ul에 이 페이지의 URL을 넣습니다. 

그리고 ".kr"이 있는 자리수를 변수 ul에 다시 넣고, 30을 곱합니다. 

이 변수 ul의 값과 입력한 값이 동일하면 ul*입력값으로 페이지를 이동합니다. 

 

우선 입력란에 변수 ul의 최종값과 동일하도록 값을 넣어 보도록 하겠습니다. 

function ck(){
  var ul=document.URL;
  ul=ul.indexOf(".kr");
  ul=ul*30;
  if(ul==pw.input_pwd.value) { location.href="?"+ul*pw.input_pwd.value; }
  else { alert("Wrong"); }
}

".kr"은 18번째에 있기 때문에 18*30한 540을 입력란에 넣으면 아래와 같이 100점을 얻을 수 있습니다.

반응형

+ Recent posts