워게임/webhacking.kr

[webhacking.kr] old-01₂₀₀ 문제 풀이

KwonYongHyeon 2021. 1. 10. 09:47
반응형

 

 

오늘은 webhacking.kr의 old-01₂₀₀문제를 풀어 보도록 할 것이다.

서론없이 바로 문제로 들어가 주자.

 

 

level : 1이라는 글과 함께 view source 버튼이 있다.

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']>=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>

 

 

여기서 우리가 주목해야 할 부분은 여기이다.

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

이 코드를 통해 우리는 user_lv 쿠키를 6보다는 작고, 5보다는 큰 값으로 바꾸어 주면 문제가 풀린다는 점을 알 수 있다.

 

 

F12를 누른 후에 Application의 Cookies 탭으로 이동하면, user_lv 쿠키가 1인 것을 확인 가능하다.

이제 user_lv 쿠키를 5에서 6 사이의 아무 수로 바꾸어 주자.

 

 

이제 페이지를 새로고침하고, 다시 문제 페이지로 돌아가 주면?

 

 

Already solved! 풀렸다.

 

 

반응형