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

 

< 핵심 >

user_lv cookie 값이

6보다 크거나 같으면 cookie 값이 1이 되고,

5보다 크면 문제가 풀린다. 

 

 

 

 

 쿠키 변조를 하기 위해서 크롬에서 EditThisCookie 확장 프로그램을 설치해야 한다. 

 

https://chrome.google.com/webstore/detail/editthiscookie/fngmhnnpilhplaeedifhccceomclgfbg?hl=ko

 

EditThisCookie

EditThisCookie는 쿠키 관리자입니다. 이것을 이용하여 쿠키를 추가하고, 삭제하고, 편집하고, 찾고, 보호하거나 막을 수 있습니다!

chrome.google.com

 

 

설치가 끝나면,

우측 상단에 쿠키 아이콘이 보이는데..

이 쿠키를 누르면 쿠기의 이름과 값에 대한 정보를 알 수 있다.

물론, 변조도 가능하다!  

 

 

 

다시 문제로 돌아가서! 

 

아까 view-source 핵심 코드만 다시 보면 

 

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

 

5 < user_lv cookie 값 < 6 정도로 쿠키 값을 변조하면 해결될 것 같은 느낌이다! 

 

 

해보자!

 

쿠키 값을 5.1로 변경하고, 초록 V 버튼을 누른다.

 

F5로 창을 새로고침한다. 

 

 

성공했다는 알림이 함께 뜬다! 

 

 

오예! 

'War Game > Webhacking.kr' 카테고리의 다른 글

Webhacking.kr : challenge(old) 18번 풀기  (0) 2019.11.13
Webhacking.kr 리뉴얼 : 회원 가입  (0) 2019.09.25

+ Recent posts