안녕하세요. 오늘은 webhacking의 문제1번을 풀어보겠습니다. www.webhacking.kr에 들어가서 로그인을 합시다. 

로그인을 하셨으면 위와 같은 화면이 나옵니다. 그리고 상단의 Challenges 를누르고 문제 1번을 누릅니다.

level : 1이라고 적혀있는 사이트가 나오고 밑에 index.phps가 있습니다. 흠 뭘 어떻게 해야 풀 수 있을까요? 문제도 안나와있습니다. 일단 이 사이트 정체를 파악하기 위해 오른쪽 마우스 - 소스보기를 클릭합니다.

여기서 주목할 부분은 12번줄에 있는 명령어입니다. 해석하면 a onclick = 누르면 , location.href 'index.phps' = index.phps란 페이지로 이동한다. 라는 뜻인데 그럼 무얼 클릭해야 이동할까요? 뒤쪽에 보시면 글자가 있죠. index.phps 즉 화면에 나와있는 글자입니다. 즉 index.phps를 누르면 index.phps 페이지로 이동한다. 라는 뜻이 됩니다. 그러면 한번 눌러 봅시다.

아까보다 알아보기 힘든 소스가 나옵니다. 마치 영어문제 푸는 것 같습니다. 다른건 머리아프니까 보지말고 solve() 함수쪽을 봅시다. solve()함수는 해결한다. 라는 뜻으로 앞으로도 이런문제를 풀때에는 solve()를 유심히 봐야합니다. solve() 함수 앞에 if문이 있네요. 다들 아시다시피 if문은 조건식으로 if 가로 안의 조건이 맞다면 그 다음걸 실행하라 라는 뜻입니다.

즉 이문제는 COOKIE[user_lv)이 5보다 크면 해결된다 라고 적혀있습니다. 그런데 바로 위의 조건을 보시면 COOKIE[user_lv)이 6보다 크거나 같으면 1을 반환하라고 되어있습니다. 쉽게 말해 COOKIE[user_lv)값에 6이상의 숫자를 넣으면 강제로 COOKIE[user_lv)값이 1로 저장된다는 것입니다. 그런데 1은 5보다 작은 숫자이기 때문에 문제가 해결되지 않습니다. 그렇다면 COOKIE[user_lv)값에 6이상의 숫자를 넣으면 안된다라는 결론이 나옵니다. 

정리를 하면 COOKIE[user_lv)값에 6이상의 숫자를 넣으면 안된다. 그런데 해결할려면 5보다 큰 수를 넣어야 한다. 즉 5보단 크고 6보단 작은 수를 넣어줘야 합니다. 문제자체는 풀었습니다. 그런데 이제 이 정답을 어디다가 넣어야 할까요? 아까 페이지에선 정답을 넣는 칸이 없었습니다. 소스를 보니 숨겨진 것도 아닙니다. 이럴때에는 변수즉 COOKIE[user_lv)를 잘 봐야합니다. 쿠키란 뭐 일반적으론 먹는 과자 이름이지만 컴퓨터내에서 쿠키란 웹사이트에 접속할 때 자동적으로 만들어지는 아이디, 비밀번호, IP주소 등의 정보를 담고 있는 일종의 정보파일입니다. 우리는 그 쿠키에 값을 넣어줘야 하므로 쿠키를 관리할 필요가 있습니다. 그래서 쿠키를 관리할 수 있게 도와주는 일종의 프로그램을 설치해 봅시다. 마침 크롬 웹 스토어에 좋은 프로그램이 있으므로 그 프로그램을 사용해 봅시다.

https://chrome.google.com/webstore/에 들어가 쿠키 라고 치고 검색을 하여 아래그림처럼 EditThisCookie를 찾아 'CHROME에 추가'버튼을 눌러주시면 됩니다.

추가가 완료되었으면 오른쪽 상단위에 쿠키모양의 버튼이 생깁니다. 자 이제 아까 들어왔던 문제 1번 화면으로 갑시다. index.phps에서 그냥 뒤로가기버튼을 누르시면 됩니다. 화면으로 돌아왔으면 오른쪽 상단의 쿠키버튼을 눌러봅시다.

보니까 user_lv라는 변수명이 보이네요. COOKIE[user_lv)의 그 user_lv입니다. 자 이제 값만 바꿔주면 됩니다. 값에 1이라고 적혀있으니 지우고 5와 6사이의 값을 적어주세요. 저는 그냥 5.5적겠습니다. 다 적었으면 밑의 V버튼을 눌러주세요. 수정이 완료되었으면 쿠키를 닫고 F5버튼을 눌러주세요.

흠 축하한다네요. 


네 이렇게 첫번째 문제를 풀었습니다. 200점 주네요. 이 점수가 어따 쓰이는지는 모르겠지만 점수가 높은 문제일수록 더 어려워진다는 것만 아시면 됩니다.

감사합니다.




'Webhacking' 카테고리의 다른 글

Webhacking - 27번문제  (2) 2015.07.10
Webhacking - 문제24번  (0) 2015.07.10
Webhacking - 문제 11번  (0) 2015.07.08
webhacking시작 - 문제17번  (6) 2015.07.05
webhacking시작 - 회원가입  (0) 2015.07.04
Posted by englishmath
,