티스토리 뷰




이번 포스팅은 지난 포스팅에 이어 webhacking.kr 워게임 사이트를 풀어보도록 하겠습니다.


Challenge 1번을 풀기 위한 환경은 Windows 10, Chrome, 그리고 추가적인 Chrome 확장 프로그램 중 하나인 EditThisCookie 를 이용하였습니다.



webhacking.kr 사이트의 회원가입 방법이 궁금하시면 아래 링크를 따라 지난 포스팅을 참고해주세요.




이번 포스팅에서 다룰 문제는 Challenge 1번 문제로 아래의 접근 방법과 기초 개념을 필요로 합니다.


1. HTML/PHP 코드 이해

2. Cookie 값 수정



먼저 1번 문제를 풀기 위해서는 쿠키 값을 수정해야 하는데, 그를 위한 크롬 확장 프로그램을 설치해보도록 하겠습니다.




Chrome 웹 스토어에 들어가셔서 EditThisCookie 를 검색해줍니다.




Chorome 에 추가 버튼을 눌러 주면 아래와 같은 확인창이 뜨게 되는데, 한번 더 추가 버튼을 눌러주시면 설치가 끝납니다.




추가된 프로그램은 주소창 우측에서 확인할 수 있습니다.



이제 Challenge 1번을 본격적으로 풀어보도록 하겠습니다.



webhacking.kr 사이트에 들어가서 Challenge 탭으로 입장하면 처음 보이는 화면입니다.


여기서 회색 바탕의 숫자는 문제 번호를 의미하고, 아래 [] 대괄화 안의 수는 해당 문제의 점수를 뜻합니다.



우선 제일 처음에 있는 1번 문제로 입장해보겠습니다.



검은 바탕에 level 과 index.phps 이외에는 아무것도 없습니다.


먼저 노란박스의 index.phps를 클릭하거나 url 뒤에 넣어 확인해보도록 하겠습니다.

(http://webhacking.kr/challenge/web/web-01/index.phps)



위 HTML 코드 중 중점적으로 보아야 할 부분은 노란색 박스의 코드입니다.


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
if (ergi ("[^0-9,.]", $_COOKIE[user_lv))    $_COOKIE[user_lv]=1;
 
    #user_lv 에 해당하는 쿠키가 0~9로 시작하지 않으면 user_lv 쿠키에 1 대입
 
 
if ($_COOKIE[user_lv]>=6)    $_COOKIE[user_lv]=1;
 
    #user_lv 쿠키가 6 이상일 때 (6을 포함한 이상의 값), user_lv 쿠키에 1 대입
 
 
if ($_COOKIE[user_lv]>5)        @solce();
 
    #user_lv 쿠키가 5를 초과했을 때 (5를 포함하지 않은 이상의 값), SOLVE!!
 
 
echo ("<br>level : $_COOKIE[user_lv]");
 
    #user_lv 쿠키값 출력 
cs


위 코드에 따르면 문제를 해결하기 위해서는 user_lv 쿠키값이 5는 넘어야 하지만, 6 이상이 되면 다시 user_lv 값이 1이 되어 버립니다.



우선 현재 지정되어 있는 user_lv 쿠키를 확인하기 위해 설치해둔 EditThisCookie 를 이용해보도록 합니다.


해당 페이지에서 아무것도 수정하지 않은 채로 EditThisCookie 를 실행하면 아래와 같은 창이 뜨면서 user_lv 쿠키 값은 1로 설정되어 있음을 볼 수 있습니다.




user_lv을 우선 5로 바꿔보도록 하겠습니다.




user_lv 쿠키 값을 5로 바꾸고 초록 체크 버튼을 누른 후, 새로고침(F5) 를 하면 level : 5 로 바뀐 것을 확인할 수 있습니다.



그렇다면 user_lv 을 6으로 쿠키값을 바꿔보겠습니다.




코드에서 확인한대로 6 이상의 값을 user_lv에 대입하게 되면 user_lv이 다시 1로 돌아가 화면에도 level : 1 로 출력되는 것을 확인할 수 있습니다.



그렇다면 이 문제를 해결하기 위해서는 5는 넘지만 6에는 못미치는 수를 대입할 수 있습니다.


두 사이의 임의의 수인 5.5를 user_lv 에 넣어보도록 하겠습니다.





user_lv에 5.5를 대입하자 Congratulation 이라는 팝업창이 뜨면서 문제가 해결되었습니다.


그에 대한 보상으로 1번 문제에 걸려있던 200점을 획득하게 되었습니다.



메인 화면으로 돌아가면 아래 사진처럼 1번문제를 해결하였음을 알 수 있습니다.



여기까지 하셨으면 webhacking.kr Challenge 1번 문제를 성공적으로 해결한 것입니다.



이번 포스팅도 따라하신다고 고생 많으셨습니다.


다음 포스팅에서 봐요 :)

공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/04   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30
글 보관함