해당 View-source 링크를 통해 해당 웹 페이지 소스를 확인한다.
하단의 코드를 자세히 확인해보자.
<?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>
solve() 함수가 있는 구문을 자세히 살펴보자.
if($_COOKIE['user_lv']>3) solve(1);
slove()함수를 통해 쿠키 값이 3보다 큰 경우 해결이 가능한 것을 알 수 있다.
하지만, 이 구문의 바로 위 구문을 보면
if($_COOKIE['user_lv']>=4) $_COOKIE['user_lv']=1;
쿠키값이 4보다 크거나 같은 경우 쿠키값을 1로 저장한다는 것을 알 수 있다.
이 두 구문을 종합하여 살펴본다면 쿠키값을 3보다 크고 4보다 작은 수로 변조해야 한다는 것을 알 수 있다.
쿠키값을 변조하기 위하여 해당링크에 들어가 EditThisCookie 프로그램을 설치한다.(크롬인 경우)
https://chrome.google.com/webstore/detail/editthiscookie/fngmhnnpilhplaeedifhccceomclgfbg?hl=ko
EditThisCookie
EditThisCookie는 쿠키 관리자입니다. 이것을 이용하여 쿠키를 추가하고, 삭제하고, 편집하고, 찾고, 보호하거나 막을 수 있습니다!
chrome.google.com
해당 프로그램을 설치한 후 소스를 확인하던 페이지 오른쪽 상단에 확장프로그램을 눌러 EditThisCookie를 누르면 해당페이지의 쿠키값이 1로 설정되어 있는 것을 확인할 수 있다.
1로 설정되어있는 쿠키값을 3과 4사이의 숫자 중 임의로 3.5를 입력하여 하단의 녹색 체크표시를 눌러준다.
그리고 뒤로가기를 눌러 view-source 가 아닌 페이지로 이동하면
문제가 풀렸다는 창이 뜬다.
'프로젝트 > Webhacking.kr' 카테고리의 다른 글
[Webhacking.kr] Challenge(old) 6번 문제 (0) | 2021.07.05 |
---|---|
[Webhacking.kr] Challenge(old) 5번 문제 (0) | 2021.07.02 |
[Webhacking.kr] Challenge(old) 4번 문제 (0) | 2021.07.02 |
[Webhacking.kr] Challenge(old) 3번 문제 (0) | 2021.07.01 |
[Webhacking.kr] Challenge(old) 2번 문제 (0) | 2021.06.29 |