반응형

webhacking.kr 문제 풀이 / Challenge(old) - 01번 문제 (200)

 

1번 문제는 아래와 같은 화면이 출력됩니다. 

 

 

view-source를 클릭하면 아래와 같이 php 코드가 보입니다. 

 

아래 코드는 'user_lv' 라는 이름의 쿠키가 없으면, 'user_lv' 라는 이름과 값을 1로 하여 쿠키를 설정하는 부분입니다. 

<?php
  include "../../config.php";
  if($_GET['view-source'] == 1){ view_source(); }
  if(!$_COOKIE['user_lv']){
    SetCookie("user_lv","1",time()+86400*30,"/challenge/web-01/");
    echo("<meta http-equiv=refresh content=0>");
  }
?>

 

이 부분을 보면, 

'user_lv' 의 쿠키 값이 숫자가 아니면 1로 설정합니다. 

'user_lv' 의 쿠키 값이 6보다 크거나 같으면 1로 설정합니다. 

'user_lv' 의 쿠키 값이 5보다 크면 solve(1) 함수를 call 합니다. 

결국엔 'user_lv' 의 쿠키 값이 5보다 크고 6보다 작은 소수의 값이 되어야 한다는 것 입니다. 

<?php
  if(!is_numeric($_COOKIE['user_lv'])) $_COOKIE['user_lv']=1;
  if($_COOKIE['user_lv']>=6) $_COOKIE['user_lv']=1;
  if($_COOKIE['user_lv']>5) solve(1);
  echo "<br>level : {$_COOKIE['user_lv']}";
?>

 

쿠키의 값을 변경하기 위해 쿠키 관리자인 EitThisCookie를 사용하겠습니다. 

zidarn87.tistory.com/164

 

도구 Tool / 쿠키 관리자 EditThisCookie 설치 및 사용법

도구 Tool / 쿠키 관리자 EditThisCookie 설치 및 사용법 EditThisCookie는 쿠키 관리자입니다. 이것을 이용하여 쿠키를 추가하고, 삭제하고, 편집하고, 찾고, 보호하거나 막을 수 있습니다! 다운은 아래 링

zidarn87.tistory.com

user_lv의 값을 5.1로 적용하여 내보내기를 하겠습니다. 

그러면 아래와 같이 200point를 받게되는 것을 볼 수 있습니다.

반응형

+ Recent posts