- 문제경로
- 문제풀이
[문제경로]
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 |