[webhacking.kr] old-01

gjdbqls25·2021년 4월 22일
1

🎆 Webhacking.kr 🎆

목록 보기
1/2

old-01번 문제는, 가장 난이도가 쉬운 문제중 하나 입니다.

https://webhacking.kr/challenge/web-01/

위 사이트 주소로 들어가보면, level : 1 이라고 적혀있는데,
바로 밑에 보면 View-Soruce 가 있습니다.
눌러서 들어가보면,

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

위와 같은 코드가 적혀있습니다.

php 부분의 코드를 분석해보면,
user_lv 라는 Cookie의 값이, 3 보다 크면 solve(1) ← 해결됩니다.
그러나 단, user_lv 값이 4 이상이면, user_lv 값을 다시 1로 만들어버려서
해결할 수 없게 됩니다.

해결 방법 :
3보다 크고 4보다 작은 숫자는, 3.1 ~ 3.9 까지 있는데,
f12로 개발자도구를 열어서, Application 탭으로 갑니다.

위 사진과 같이, Application 탭을 열어서
Cookies 탭의 webhacking.kr 을 누르게 되면,
해당 사이트에서 설정된 쿠키를 확인할 수 있습니다.

아까 봤던 php 코드에서 user_lv 라는 이름을 가진 Cookie를 조건에 넣었으니,
user_lv 라는 Cookie를 찾아서 Value 더블클릭 후
3.1 ~ 3.9의 숫자를 적어줍니다.

그리고 새로고침을 하면, 성공입니다.

0개의 댓글