ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [Webhacking.kr] old-01
    보안/Wargame 2021. 7. 28. 09:26

     

    webhacking.kr old 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;
      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이라는 쿠키를 1로 설정해준다.

     

    user_lv의 쿠키값 확인

     

    밑의 php 코드를 확인해보면 user_lv을 정수 값과 비교한다.

    3 보다 크면 문제를 해결 할 수 있는 것 같다.

    하지만 4 이상이면 다시 1로 설정한다.

     

    쉽게 생각해서 3과 4 사이의 수를 쿠키 값으로 넣어보기로 했다.

    3.5를 넣었더니 문제를 해결할 수 있었다.

    '보안 > Wargame' 카테고리의 다른 글

    [내부 CTF] MISC:금고털이범  (0) 2021.08.24
    [Webhacking.kr] old-02  (4) 2021.07.28

    댓글

Designed by Tistory.