본문 바로가기
Webhacking.kr

[Webhacking.kr] old-01 풀이

by ris 2024. 12. 14.

제일 간단한 문제로 기초적인 웹 지식만 있다면 풀 수 있었다.

처음 들어오면 볼 수 있는 장면

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