티스토리 뷰
이번 포스팅은 지난 포스팅에 이어 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번 문제를 성공적으로 해결한 것입니다.
이번 포스팅도 따라하신다고 고생 많으셨습니다.
다음 포스팅에서 봐요 :)
'Challenge > webhacking.kr' 카테고리의 다른 글
[webhacking.kr] Challenge 15번 문제 (0) | 2018.09.05 |
---|---|
[webhacking.kr] Challenge 14번 문제 (1) | 2018.09.05 |
[webhacking.kr] Challenge 6번 문제 (1) | 2018.09.04 |
[webhacking.kr] Challenge 4번 문제 (3) | 2018.08.22 |
[webhacking.kr] 회원가입(Register) 하기 (1) | 2018.07.03 |
- Total
- Today
- Yesterday
- Git Bash
- 구글 애드센스 승인
- GIT
- Ubuntu 18.04
- tistory blog
- 구글 애드센스 설치
- 백준
- ubuntu 18.04 LTS
- 백준 코딩
- 우분투 18.04
- 우분투
- 백준 알고리즘
- 승인 후기
- 구글 애드센스 후기
- C 언어
- Python 언어
- webhacking
- python
- Oldzombie
- C 코딩
- webhacking.kr
- Google Adsense
- c
- 구글
- 웹해킹
- ubuntu
- github
- python 코딩
- 구글 애드센스
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |