티스토리 뷰
CTF 준비 (webhacking.kr / level : 1_old)
kingofsparrow 2020. 5. 1. 01:46대회는 나가보고 싶고, 스킬은 올려보고 싶은데
대회, CTF를 준비하기 위해선 워게임을 많이들 풀어보라고 합니다.
생초보들도 그냥 들어가보고 풀어보는게 중요합니다.
저도 혼자서 풀어보다가 지겹고 힘드니 중간에 그만두고 그만두고를 반복해서 3번째 회원가입해서 만들고 있네요..
다시 처음으로 돌아가 생초보의 입장으로 다시 시작하겠습니다.
오랜만에 들어오니 페이지가 바뀌어있네요.
검은색 화면에 심플한 페이지
<html>에 <body bgcolor=black> 이면 검은색 화면으로 표시된다는것.
<a href=./?view-source=1>view-source</a> 를 넣어 링크삽입을 했다는 것. (view-source 를 클릭하면 해당 페이지로 접근한다는것)
간단히 배웠습니다.
해석
<?php
include "../../config.php";
==> config.php 파일을 내부의 내용을 가져와 넣음
if($_GET['view-source'] == 1){ view_source(); }
if(!$_COOKIE['user_lv']){
==> #'user_lv' cookie에 값이 없다면 if 문 수행
SetCookie("user_lv","1",time()+86400*30,"/challenge/web-01/");
==> cookie 값 설정
(ex. setcookie (쿠키명, 쿠키값, 만료시간, 경로); )
cookie 명 : "user_lv", cookie 값 : "1", 만료시간 86400*30초,
경로 "/challege/web-01" 에 존재
echo("<meta http-equiv=refresh content=0>");
==> html 태그를 이용해서 다른페이지로 넘길때 이용
}
<?php
if(!is_numeric($_COOKIE['user_lv'])) $_COOKIE['user_lv']=1;
==> is_numeric : 숫자인 경우 true 아닌경우 false 반환
"!" 을 붙혔으니 반대상황, 숫자가 아닌경우 true, cookie 값이 user_lv 1로 반환
if($_COOKIE['user_lv']>=6) $_COOKIE['user_lv']=1;
==> cookie 값이 6보다 크거나 같을경우 user_lv 1로 반환
if($_COOKIE['user_lv']>5) solve(1);
==> cookie 값이 5보다 커야 solve(1) 출력 = 해결
echo "<br>level : {$_COOKIE['user_lv']}";
==> 어떤 값을 반환했든 해당 user_lv 이 표시됨.
?>
쿠키 값을 5보다 크고 6보다 작은 수를 넣으면 해결!
풀이
cookie 편집도구 필요
크롬 웹스토어에서 설치한 editthiscookie
어떤 도구를 쓰든 자유 = 쿠키값을 변조만 하면 됩니다.
쿠키값이 6보다 클경우 = level 1로 표시
쿠키값이 5보다 작을 경우 = 그대로 표시
쿠키값을 5보다크고 6보다 적은 수로 삽입
'CTF > webhacking.kr' 카테고리의 다른 글
CTF 준비 (webhacking.kr / level : 5_old) (0) | 2020.06.22 |
---|---|
CTF 준비 (webhacking.kr / level : 3_old) (0) | 2020.05.13 |
CTF 준비 (webhacking.kr / level : 2_old) (0) | 2020.05.04 |