일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- 경기대학교
- webhacking.kr
- SuNiNaTas
- 피들러
- 해커스쿨
- 써니나타스
- Web
- 파이썬챌린지
- hackerschool
- java
- 실습문제
- FTZ
- 리눅스
- C
- C언어
- pythonchallenge
- 리버싱
- ARP Redirect
- 쏙쏙캠프
- 웹해킹
- html5
- setCookie
- 석문초등학교
- Linux
- 자바
- 대외활동
- 파이썬
- 암호수학
- 명품자바프로그래밍
- 웹
- Today
- Total
Hongfluenza
[Webhacking.kr] Challenge 1번 본문
level 1번을 클릭하면 다음과 같은 화면이 뜬다.
개발자 도구(f12)를 이용해 확인해본 결과
----- index.phps -----를 클릭하면
index.phps로 이동한다는 것을 알 수 있었다.
index.phps로 이동한 화면이다.
먼저 다음 코드를 통해 알게 된 개념에 대해서 정리해보자.
PHP 쿠키 값을 설정하는 setcookie()함수
setcookie(쿠키명, 쿠키값, 만료시간, 경로, 도메인, 보안, httponly);
쿠키명 (필수) | 설정될 쿠키의 이름을 결정 |
쿠키값 (선택) | 쿠키 이름에 입력될 값 |
만료시간 (선택) | Default 값은 0이며 쿠키가 유지될 시간을 설정 |
경로 (선택) | 경로를 지정할 경우 특정 위치와 하위 경로에서만 사용가능하도록 설정됨 |
도메인 (선택) | 사용될 도메인을 지정 가능함. 서브도메인 입력 시 해당 서브 도메인만 사용 가능 |
보안 (선택) | 보안 프로토콜인 https 에서만 사용가능하도록 설정함 |
httponly | HTTP에서만 사용가능하도록 하여 스크립트에 의한 쿠키 접근을 허용안하게 함 |
또한, 쿠키값을 새롭게 읽어오거나 업데이트 할 경우에는
$_COOKIE['쿠키명'];을 사용한다.
그런 다음, echo("<meta http-equiv=refresh content=0>");을 살펴보자.
HTML 프로그래밍을 하다보면, 이 페이지를 읽고 난 후
수 초 후에 자동으로 다음 페이지로 보내고 싶을 때가 있는데, 이럴 때 META 태그를 사용한다.
(META태그는 문서의 부가적인 정보를 제공하는 태그이다.)
http-equiv=refresh는 이 페이지가 META 태그에 의해서 새로 읽는다는 것을 의미한다.
content=0에서 숫자로 된 0은 초를 의미하며,
5초 후에 뒤에 명시된 url(여기엔 없지만,)주소로 이동하라는 것을 지시하고자 한다면
content=5를 넣어주면 된다.
만약 본문의 예시처럼 url을 생략했을 경우에는 현재의 페이지를 다시 읽어준다.
>>> 따라서, 다음 코드를 분석하자면
'user_lv'이라는 쿠키를 생성한 후, 쿠키의 값에 1을 넣어주라는 뜻이다.
핵심이 되는 코드는 다음과 같다.
if(eregi("[^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 이상이라면, user_lv 쿠키의 값을 1로 초기화시키라는 뜻이다.
if($_COOKIE[user_lv]>5) @solve();
→ user_lv의 쿠키 값이 5초과라면 solve, 즉 해결이다.
따라서 쿠키의 값은 5를 초과해야하지만 6보다는 작아야 1로 초기화되지 않고 문제를 해결할 수 있겠다.
EditThisCookie를 확인해보면, 값이 1인 것을 확인할 수 있었다.
이 값을 5초과 6미만의 값 중에서 임의로 설정한 후,
체크 버튼을 누른 후에 새로고침을 하면
성공했다는 Congratulation!의 문구와 함께 200 포인트를 얻게 된다.
'CHALLENGE > Webhacking.kr' 카테고리의 다른 글
[Webhacking.kr] 회원가입하기 (0) | 2019.07.03 |
---|