• 문제경로
  • 문제풀이

 

 

 

[문제경로]

https://webhacking.kr/challenge/web-01/

 

Challenge 1

 

webhacking.kr


 

 

 

[문제풀이]

1. 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;
# "user_lv" 쿠키의 값이 숫자가 아닌 경우 1로 설정  
  if($_COOKIE['user_lv']>=4) $_COOKIE['user_lv']=1;
# "user_lv" 쿠키의 값이 4 이상인 경우, 값을 1로 설정  
  if($_COOKIE['user_lv']>3) solve(1);              
# "user_lv" 쿠키의 값이 3보다 큰 경우, solve(1) 함수를 호출  
  echo "<br>level : {$_COOKIE['user_lv']}";
?>
<br>
<a href=./?view-source=1>view-source</a>
</body>
</html>

solve(1)을 호출하게 되면 문제가 풀릴 것이다.

solve(1)을 호출하려면 "user_lv" 쿠키 값이 3보다 크고 4보다는 작은 수여야 한다.

그러면 소수점이 들어가야 될 것이다. 

 

 

2. "user_lv" 쿠키 값에 3.1을 집어넣어 보도록 하겠다.

 

그리고 새로고침 했더니 solve(1) 함수를 호출하면서 문제가 해결된 것을 확인할 수 있다.

'Wargame & CTF > Webhacking.kr' 카테고리의 다른 글

[Webhacking.kr] old-06  (0) 2024.04.10
[Webhacking.kr] old-16  (0) 2023.09.22
[Webhacking.kr] old-15  (0) 2023.09.17
[Webhacking.kr] old-17  (0) 2023.09.17
[Webhacking.kr] old-03  (0) 2023.09.15

+ Recent posts