[그림 01] level1 시작화면


level1의 시작은 [그림 01]과 같습니다.

index.phps는 index.php라는 php파일의 소스를 볼 수 있는 설정입니다..

원래는 php소스를 client가 볼 수 없도록 설정해야 하지만, php의 낮은 버전에서는 phps를 지원하는 경우가 있습니다.

이는 구버전의 php의 취약점이지요.


index.php라고 되어 있는 부분을 index.phps라고 바꿔주거나 index.phps를 클릭하면 [그림 02]와 같은 화면으로 넘어가게 됩니다.

[그림 02] index.phps


00. if(!$_COOKIE[user_lv]){SetCookie("user_lv", "1"); echo("<meta ...")}

 처음 쿠키를 설정할 때, user_lv에는 1이라는 숫자를 입력

01. $password="????";

 password라는 변수에 "????"라는 문자열 입력

02. if(eregi("[^0-9,.]",$_COOKIE[user_lv])) $_COOKIE[user_lv]=1;

 eregi() 함수는 검색대상 문자열(string)에서 정규표현식으로 나타낸 패턴과 일치하면 True, 일치하지 않으면 False를 반환

 eregi() 함수는 대소문자 구분이 없음

 ereg() 함수는 대소문자 구분이 있음

 만약 쿠키 값 중, 'user_lv' 이라는 변수가 0~9 그리고 .(온점)일 경우, user_lv이란 변수에 1이라는 숫자를 입력

03. if($_COOKIE[user_lv]>=6) $_COOKIE[user_lv]=1;

 만약 쿠키 값 중 'user_lv'이 숫자 6보다 크면 1로 다시 초기화

04. if($_COOKIE[user_lv]>5 @solve();

 만약 쿠키 값 중 'user_lv'이 숫자 5보다 크면 solve()라는 함수를 실행

05.echo("<br>level : $_COOKIE[user_lv]");

 [그림 01]의 level : 1이라는 곳의 숫자 1을 user_lv에 입력된 숫자로 바꿈


위의 내용을 해석하면, 쿠키 값 중 user_lv을 6보다 작고, 5보다 크게 만들어서 solve()라는 함수를 실행해보는 것이 해답일 것으로 생각됩니다.

이제 cookie값을 확인하는 법을 알아봅시다.

cookie값을 확인하는 방법은 cooxie라는 툴을 설치하여 cookie를 확인하거나 javascript를 사용하여 확인하는 방법입니다.


 명령어 : javascript:alert(document.cookie)


위의 명령어를 주소창에 입력하면 [그림 03]과 같이 나옵니다.


[그림 03] javascript 명령어를 통한 cookie 값 확인


[그림 03]을 보면 user_lv=1과 같은 것을 확인할 수 있습니다.

앞서 [그림 02]에서와 같이 user_lv을 통한 solve()함수를 실행하는 것으로 짐작할 수 있습니다.

조건은 6 > user_lv > 5입니다. 그렇다면 아래의 [그림 04]와 같이 user_lv의 쿠키 값을 변경해볼 수 있겠지요.

[그림 04] 쿠키 값, user_lv에 5.1이라는 값을 삽입


[그림 04]의 명령어를 통해 user_lv에 5.1을 저장하면 쿠키 값이 1에서 5.1(6보다 작고 5보다 큰 것)을 입력하면 solve()를 실행할 수 있게 됩니다.


다시 index.php로 들어가면 해결됩니다!







'WARGAMES > webhacking.kr - old' 카테고리의 다른 글

Webhacking.kr_No.15(50) - old  (0) 2016.06.28
Webhacking.kr_No.14(100) - old  (0) 2016.06.28
Webhacking.kr_No.12(250) - old  (0) 2016.06.28
Webhacking.kr_No.10(250) - old  (0) 2016.06.28
Webhacking.kr_No.06(100) - old  (0) 2016.06.28
Webhacking.kr_No.05(300) - old  (0) 2016.06.26
Webhacking.kr_No.04(150) - old  (0) 2016.06.22
Webhacking.kr_No.03(350) - old  (0) 2016.06.16

+ Recent posts