[Webhacking.kr] Challenge(old) - 01
웹 해킹을 지원하는 사이트로 가장 유명한 Webhacking.kr 사이트를 이용하여 웹 해킹을 공부하려고 한다.
Challenge(old)는 61개로 되어 있으며 풀어보며 학습하도록 할 것이다.
우선, 사이트로 들어가 Challenge(old)를 누르면 리스트가 나타난다. 가장 먼저 1번 문제부터 풀어볼 것이다.
첫 화면은 아무것도 없이 level : 1 이라는 것과 view-source 라는 버튼만 나타난다. F12를 눌러서 코드를 확인해보면 쿠키에 대한 코드는 나오지 않으므로 저 view-source 라는 버튼을 눌러서 소스를 확인한다.
이와 같이 PHP 소스를 확인할 수 있다. 복잡한 것 같지만 자세히보면 cookie 에 대한 코드이다.
처음 PHP코드는 cookie의 user_lv 라는 이름을 가진 쿠키의 세팅하는 코드이다.
이 문제에서는 그것이 중요한게 아니라 밑의 PHP 코드를 자세히 보아야한다.
if(!is_numeric($_COOKIE['user_lv'])) $_COOKIE['user_lv']=1;
if를 이용하여 user_lv 쿠키값을 확인 후 숫자가 아니라면 user_lv 쿠키값을 1로 설정한다.
if($_COOKIE['user_lv']>=6) $_COOKIE['user_lv']=1;
쿠키 user_lv 가 6보다 크거나 같으면 user_lv 값을 1로 설정한다.
if($_COOKIE['user_lv']>5) solve(1);
쿠키 user_lv 가 5보다 크면 solve 라는 함수를 불러오는 것이다.
이 문제에서 가장 중요한 3줄을 보았고 이에 맞출라면 user_lv 의 쿠기가 6보다 작고 5보다 커야한다. (5 < user_lv < 6)
쿠키의 값을 변경하는 방법은 크롬에서 제공하는 EditThisCookie 라는 프로그램도 있지만 개인적으로 프로그램을 설치하는 것을 좋아하지않아서 크롬에서 설정하는 방법으로 설명하겠다.
웹 페이지에서 F12(개발자도구) -> Application 탭 -> Cookies 항목에서 user_lv 의 Value 값을 변경한다.
그리고 페이지를 새로고침 하면
라는 메시지가 뜨며 문제가 해결된다.