WarGame/Webhacking.kr

[Webhacking.kr] 서문 & old-01 Answer

서문

웹해킹 문제풀이를 시작한다. 너무 CTF를 안한지 오래되어서 재미삼아서 시작한다. 완전 초보자인 필자가 이해하는 과정과 풀이과정을 상세히 적을 예정이다.

 


Old-01 Domain & Tool

  • 구분 : 쿠키조작
  • 문제풀이에 사용된 도구 
    • Chrome 103.0.5060.66 관리도구[F12]

 

Old-01 Question & Answer

들어가면 Level 1이라는 안내와함께 view-source 라는 링크가가 존재한다. 들어가보자

코드는 php로 작성되어있다. 다음과 같다.

<?php
  include "../../config.php";
  if($_GET['view-source'] == 1){ view_source(); }
  
  .... 중략 ....
---------------------<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>

중간에 solve(1)이 있는것을 보아 3가지의 if문을 통과하여야 solve가 되는 구조이다. 각 if문은 다음과 같다.

  1. 'user_lv'라는 쿠키가 문자가 아니라면 'user_lv'라는 쿠키를 1로 설정한다.
  2. 'user_lv'라는 쿠키가 4가 넘어간다면 'user_lv'라는 쿠키를 1로 설정한다.
  3. 'user_lv'가 3보다 크다면 solve(1)를 호출한다.

4보다 크면 안되지만, 3보다 큰 값을 'user_lv'쿠키로 설정해야한다. 꼭 정수만 생각을 하지 말자. 3.5등 중간에 소수는 무궁무진하다.

Chrome의 관리자콘솔 [Application]에서 'user_lv'라는 쿠키를 3.5로 설정해주었다. 설정 후 새로고침[F5]하자

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

[Webhacking.kr] old-06 Answer  (0) 2022.07.10
[Webhacking.kr] old-05 Answer  (0) 2022.07.10
[Webhacking.kr] old-04 Answer  (0) 2022.07.08
[Webhacking.kr] old-03 Answer  (0) 2022.07.07
[Webhacking.kr] old-02 Answer  (0) 2022.07.07