webhacking.kr 정리

webhacking.kr 01번 문제

ilsancityboy 2024. 6. 13. 17:38

 

<?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"로 설정하고, 유효기간을 30일로 설정한다.

 

 

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

 

 

 if(!is_numeric($_COOKIE['user_lv'])) $_COOKIE['user_lv']=1;

!is_numeric 은 특정 값이 숫자인지 아닌지 확인하는 함수에 부정 연산자 ! 를 합한것.

즉 쿠키값이 숫자가 아니라면 쿠키값을 1로 설정한다는 뜻.

 

  if($_COOKIE['user_lv']>=4$_COOKIE['user_lv']=1;

쿠키값이 4보다 크거나 같다면 1로 설정한다는 뜻.

 

  if($_COOKIE['user_lv']>3solve(1);

쿠키값이 3보다 크다면 문제 해결

 

즉 3보다크고 4보다 작은 숫자로 쿠키값을 설정하면 문제가 해결 될 것.

그럼 3.1이나 3.2 등등 소수로 해결하면 될 것이다.

 

 

F12를 누르고 쿠키값 설정하는 곳에 들어가면 user_lv이 1로 설정되어있다. 여기를 3.4로 바꾼다음 새로고침 해보았다.

 

문제 해결!