반응형
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를 사용하겠습니다.
user_lv의 값을 5.1로 적용하여 내보내기를 하겠습니다.
그러면 아래와 같이 200point를 받게되는 것을 볼 수 있습니다.
반응형
'WarGame > webhacking.kr' 카테고리의 다른 글
webhacking.kr 문제 풀이 / Challenge(old) - 18번 문제 (100) (0) | 2020.10.18 |
---|---|
webhacking.kr 문제 풀이 / Challenge(old) - 17번 문제 (100) (0) | 2020.10.16 |
webhacking.kr 문제 풀이 / Challenge(old) - 15번 문제 (50) (0) | 2020.10.16 |
webhacking.kr 문제 풀이 / Challenge(old) - 14번 문제 (100) (0) | 2020.10.16 |
webhacking.kr 문제 풀이 / Challenge(old) - 06번 문제 (100) (0) | 2020.10.16 |