서문
웹해킹 문제풀이를 시작한다. 너무 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문은 다음과 같다.
- 'user_lv'라는 쿠키가 문자가 아니라면 'user_lv'라는 쿠키를 1로 설정한다.
- 'user_lv'라는 쿠키가 4가 넘어간다면 'user_lv'라는 쿠키를 1로 설정한다.
- '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 |