반응형
web-01 문제 메인 화면


화면을 접속하면 "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>


old-01 문제의 코드이다.

<?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']}";
?>


old-01 문제의 코드 중 핵심 코드는 위와 같다.


- 쿠키에서 "user_lv" 이라는 "Key"에 대한 "value"가 숫자값이 아니면 "user_lv"의 "value"로 1을 설정한다.

- 쿠키에서 "user_lv"의 값이 4이상이면 "user_lv"의 값을 1로 설정한다.

- 쿠키에서 "user_lv"의 값이 3보다 크면 solve() 함수를 호출한다.

그리고 화면에 "level : " 문자열 뒤에 쿠키의 "user_lv" key에 대한 값을 출력해준다.

즉, 쿠키 값을 수정한 뒤 요청을 보내야 하는데 쿠키에서도 "user_lv"의 "value"를 4보다는 작고 3보다는 큰 값을 넣어야 한다.

개발자 도구 &gt; Application &gt; Cookies


문제 페이지에서 F12키를 눌러 개발자 도구 > Application > Cookies에서 user_lv의 value를 3.1로 설정한 뒤 새로고침을 한다.

(value의 값은 3보다 크고 4보다 작으면 되니 3.1, 3.2, 3.3, 3.4, 3.5, 3.6, 3.7, 3.8, 3.9 값들 중 하나를 넣으면 된다.)

문제 풀기 완료!

문제 풀기 완료!!

반응형

'전쟁 > Webhacking.kr' 카테고리의 다른 글

[webhacing.kr] old-12  (0) 2022.05.04
[webhacking.kr] old-11  (0) 2022.05.04
[webhacking.kr] old-33  (0) 2022.05.02
[webhacking.kr] old-14  (0) 2022.04.30
[webhacking.kr] old-10  (0) 2022.04.30

+ Recent posts