제일 간단한 문제로 기초적인 웹 지식만 있다면 풀 수 있었다.
view-source를 눌러보면
<?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>");
}
?>
<html>
<head>
<title>Challenge 1</title>
</head>
<body bgcolor=black>
<center>
<br><br><br><br><br>
<font color=white>
---------------------<br>
<?php
if(!is_numeric($_COOKIE['user_lv'])) $_COOKIE['user_lv']=1;
if($_COOKIE['user_lv']>=4) $_COOKIE['user_lv']=1;
if($_COOKIE['user_lv']>3) solve(1);
echo "<br>level : {$_COOKIE['user_lv']}";
?>
<br>
<a href=./?view-source=1>view-source</a>
</body>
</html>
이런 코드가 나온다.
php를 몰라도 풀 수 있었다.
<?php
if(!is_numeric($_COOKIE['user_lv'])) $_COOKIE['user_lv']=1;
if($_COOKIE['user_lv']>=4) $_COOKIE['user_lv']=1;
if($_COOKIE['user_lv']>3) solve(1);
echo "<br>level : {$_COOKIE['user_lv']}";
?>
가장 중요한 부분이다.
1. user_lv이란 쿠키가 없다면 1이란 값을 가진 쿠키를 발급해준다.
2. 쿠키의 값이 4 이상이라면 1로 고정한다.
3. 쿠키의 값이 3보다 크다면 클리어.
그럼 클리어 조건을 정리하자면
3 < user_lv의 값 < 4
이렇게 되면 된다.
그럼 editthiscookies를 사용해 쿠키의 값을 바꿔보자.
값을 바꿔주면
이번 문제는 정말로 쿠키의 값을 고칠 수 있니? 라는 의도같았다.
'Webhacking.kr' 카테고리의 다른 글
[Webhacking.kr] old 20 해설 (0) | 2025.01.04 |
---|---|
[Webhacking.kr] old-39 풀이 (0) | 2024.12.29 |
[Webhacking.kr] old-38 풀이 (1) | 2024.12.15 |
[Webhacking.kr] old-54 풀이 (1) | 2024.12.14 |
[Webhacking.kr] old-24 풀이 (0) | 2024.12.14 |