view-source 클릭해 보겠습니다.
php 코드가 중요한 부분이니 한번 읽어보자.
먼저 이 문제는 쿠키를 이용한 문제이기 때문에 쿠키에 대해서 한번 읽는 것도 나쁘지 않다.
Cookie 란?
사이트들을 들어가 보면 쿠키에 대한 이야기가 자주 나와 메모를 해놓기로 했다. 까먹지 않게 쿠키(Cookie)는 웹 서버가 클라이언트에게 전송하는 작은 데이터 조각. 주로 사용자의 웹 브라우저에
grayom.tistory.com
다시돌아와서
if(!$_COOKIE['user_lv']){
SetCookie("user_lv","1",time()+86400*30,"/challenge/web-01/");
echo("<meta http-equiv=refresh content=0>");
}
일단 이 부분은 사용자 쿠키 레벨을 설정해 주는 걸로 보인다 설정한 쿠키 레벨은 1 레벨이다.
다음은
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']}";
핵심적인 부분인 거 같다 사용자의 레벨(쿠키)을 확인하고 그 레벨이 4 이상이면 1로 설정한다 그리고
3 레벨보다 클 경우 'solve(1)' 함수를 호출한다.
(solve는 풀다, 풀어내다는 뜻을 가지고 있다.)
코드를 읽어봤으니
그러면 레벨(쿠키)을 바꿔 보도록 하자.
이 화면에 들어가는 방법은
[F12(개발자도구) --> Application 클릭 -> Cookies 클릭 -> https~ 클릭]
쿠키를 보면 user_lv의 value 값이 1 인 것을 확인할 수 있다 이것이 코드가 말한 '레벨'이라는 값인 거 같다.
그러면 value 값을 눌러 수정해 보도록 하자.
아까 코드를 읽어봤듯이 '4' 이상의 수를 입력하면 안 되고 '3'보다는 큰 수를 대입해야 한다.
'Value' 값에 3.5라는 수를 넣어보자.
문제가 풀렸지만...
이미 푼 문제라 'already solved'라고 출력된다.
'Wargame > Webhacking.kr' 카테고리의 다른 글
webhacking.kr - old 06 (base64) (0) | 2024.03.06 |
---|---|
webhacking.kr - old 14 (code) (0) | 2024.03.05 |
webhacking.kr - old 17 (Chrome Console) (0) | 2024.03.05 |
webhacking.kr - old15 (Javascript) (0) | 2024.03.05 |
webhacking.kr - old02 (Blind SQL Injection) (0) | 2024.01.30 |