[webhacking.kr 2019 old] - challenge 1
글 작성자: Universe7202
위 문제의 소스 코드를 보면 아래와 같다.
'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>");
}
?>
<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']>=6) $_COOKIE['user_lv']=1;
if($_COOKIE['user_lv']>5) solve(1);
echo "<br>level : {$_COOKIE['user_lv']}";
?>
<br>
<a href=./?view-source=1>view-source</a>
</body>
</html>
문제를 풀기 위한 가장 핵심적인 부분은 아래 코드이다.
'user_lv' 쿠키의 값이 5보다 크고 6보다 작아야 solve(1) 함수가 동작하게 된다.
<?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']}";
?>
editcookie 크롬 익스텐션으로 user_lv 쿠키 값을 다음과 5보다 크고 6보다 작은 값으로 수정하고 재요청하면 문제가 풀리게 된다.
필자는 이미 문제를 풀었기 때문에 아래 사진 처럼 출력이 된 것이다.
'🚩CTF' 카테고리의 다른 글
[webhacking.kr 2019 old] - challenge 8 (0) | 2019.10.01 |
---|---|
[webhacking.kr 2019 old] - challenge 6 (0) | 2019.10.01 |
[Hacker101 CTF] Micro-CMS v1 (0) | 2019.07.15 |
[Hacker101 CTF] - A little something to get you started (0) | 2019.07.15 |
[CTF] - wechall Training: MySQL II 풀이 (0) | 2019.04.10 |
댓글
이 글 공유하기
다른 글
-
[webhacking.kr 2019 old] - challenge 8
[webhacking.kr 2019 old] - challenge 8
2019.10.01 -
[webhacking.kr 2019 old] - challenge 6
[webhacking.kr 2019 old] - challenge 6
2019.10.01 -
[Hacker101 CTF] Micro-CMS v1
[Hacker101 CTF] Micro-CMS v1
2019.07.15 -
[Hacker101 CTF] - A little something to get you started
[Hacker101 CTF] - A little something to get you started
2019.07.15