워게임 사이트인 Webhacking.kr 을 오늘부터 1~2문제씩 올려보도록 해야겠다


회원가입 방법은 전에 올려둔 게시물을 확인하자


2015/04/09 - [보안/워게임] - webhacking.kr 워게임 사이트 회원가입 방법


일단 Webhacking.kr 에서 Challenges를 클릭하자



그럼 여러 문제들이 보이는데 1번 문제부터 풀어보자


1 클릭


그럼 아래와 같은 화면이 나온다


level : 1 무슨 뜻일까..!


index.phps 를 클릭해봤더니



아래와 같은 소스코드가 보인다


아직 웹 언어를 공부하지 않아서 정확하게는 해석하지 못하지만..


대충 뜻을 예측해봤다



<?

if(!$_COOKIE[user_lv])

{

SetCookie("user_lv", "1");

echo("<meta http-equiv=refresh content=0>");

}

?>


Cookie에 user_lv라는 쿠키가 없으면 user_lv를 1로 설정해주는 부분인거 같다


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


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


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


이 부분이 중요한 부분인거 같다


@solve(); 를 나오게 하면 될거같다


user_lv의 쿠키 값이 숫자로 0~9로 시작하지 않으면 다시 값을 1로 바꿔게 되어있고


user_lv 값이 6이상이어도 값을 다시 1로..


user_lv 값이 5이상이면 답이 나오게 되어있는거같다


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


이 부분은 user_lv 값을 보여주도록 echo 하는 부분인거 같다


cooxie 라는 IE 도구 (Cookie 편집 도구) 를 사용하여 cookie 값을 바꿔보도록 하겠다



아래와 같이 user_lv 값을 5로 바꿔보았다



level : 5 로 표시가 변화였다.



아래와 같이 user_lv를 7로 변경해보았다



user_lv의 값이 6이상이기때문에 level : 1로 표시가 되는걸 볼 수 있다



user_lv의 값이 5이상이고 6보다 작은 수를 적어 넣어봐야겠다



Congratulation! 이라는 창이 뜨고



1문제 해결되었다고 나온다



아래와 같이 다시 Challenges에 가보면


1번 문제가 해결된걸 확인할 수 있다



간단한 소스해석에 소수점을 사용해야한다는 생각을 할 수 있다면


쉽게 풀 수 있는 문제였던거 같다