Webhacking.kr old 01번 Writeup

Webhacking.kr old1번 문제를 풀어보자
문제에 접속해서 젤 먼저 코드를 보면 PHP로 작성된 것을 볼 수 있다.

<?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>

해당 소스코드를 해석해보면 user_lv가 4미만 3.1이상일 때 solve(1) 즉, 문제가 풀어진다는 것을 알 수 있다.
그럼 크롬의 개발자 도구를 이용해서 4로 기본 설정된 쿠키 값 (user_lv)을
3.1~3.9 사이의 값으로 변경해준다.
그 다음에 메인페이지로 이동해서 새로고침을 해주면
플래그 즉, 문제가 풀린다.

해당 문제는 변수와 if문에 대한 이해 쿠키에 대한 이해를 잘 한다면 쉽게 풀 수 있을 것이라 생각이 든다.

좋은 웹페이지 즐겨찾기