Web/webhacking.kr

[Webhacking] Challenges 1. Cookie value

__bo0o_ 2018. 11. 24. 17:37

 

 

 

소스를 보니

index.phps 글자를 클릭하면

index.phps 페이지로 이동한다고 한다.

 

PHP 코드를 보기 전에

Cookie에 대해 간단하게 알아보자.

 

쿠키는 사용자가 웹사이트를 방문할 때

그 사이트의 서버를 통해

사용자의 컴퓨터에 작은 파일로 저장되는 정보를 의미하고

 

이 기록 파일에 담긴 정보는

사용자가 같은 웹사이트를 방문할 때마다 읽힌다.

또한 수시로 새로운 정보로 바뀌며

쿠키를 훔쳐서 해당 사용자의 웹 계정 접근권한을 획득할 수도 있다.

 

 

쿠키값을 수정하거나 읽어올 때

$_COOKIE['쿠키명']을 사용할 수 있고,

 PHP에서 SetCookie() 함수를 이용하여 쿠키를 생성할 수 있다.

 

따라서

if(!$_COOKIE[user_lv])은

만약 user_lv의 쿠키값이 없다면 

 

SetCookie("user_lv", "1")은

user_lv의 쿠키를 1로 셋팅한다.

 

eregi 함수는 문자열 필터링 함수고,

소스 분석을 해보자면

 

user_lv 쿠키값이

0-9의 정수 중 하나로 시작하거나

6 이상일 경우에는

쿠키값이 1로 셋팅되고

 

5보다 크면

문제가 해결된다.

 

 

이제 우리는

문제를 풀기 위해

5보다 크고 6보다 작으며

정수가 아닌 값으로

쿠키값을 바꿔야하는 것을 알았다.

 

쿠키값을 변조하는 툴 중

크롬의 EditThisCookie가 있는데

구글 검색해서 크롬에 추가하면

우측 상단에 쿠키 모양 아이콘이 생기고

 

 

쿠키값에

5와 6 사이의 실수인 5.1을 넣고

아래 초록색 체크를 클릭하고

페이지를 새로고침하게 되면

문제가 풀린다.

 

 

 

참고

http://tcpschool.com/php/php_cookieSession_cookie

https://ko.wikipedia.org/wiki/HTTP_%EC%BF%A0%ED%82%A4

http://php.net/manual/kr/features.cookies.php

 

'Web > webhacking.kr' 카테고리의 다른 글

[Webhacking] Challenges 3. form post, sql injection  (0) 2018.12.25
[Webhacking] 회원가입, base64 decode  (0) 2018.11.24