일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- filter()
- 대칭형 알고리즘
- select()
- groupe_by()
- distinct()
- sample_n()
- samp;e_frac()
- mutate()
- AES
- proc contents
- dplyr
- summarize()
- arrange()
- Today
- Total
Gae Ko's Blog
[webhacking.kr] challenges1 본문
문제를 보니
음 index.phps가 힌트라는 건가 ㅎ 소스코드를 봐야겠다 !
아 index.phps를 누르면 "/index.phps"경로로 이동된다고 한다.
눌러보니 php 소스코드가 보인다.
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 32 33 34 | <? if(!$_COOKIE[user_lv]) { SetCookie("user_lv","1"); echo("<meta http-equiv=refresh content=0>"); } ?> <html> <head> <title>Challenge 1</title> </head> <body bgcolor=black> <center> <br><br><br><br><br> <font color=white> ---------------------<br> <? $password="????"; if(eregi("[^0-9,.]",$_COOKIE[user_lv])) $_COOKIE[user_lv]=1; if($_COOKIE[user_lv]>=6) $_COOKIE[user_lv]=1; if($_COOKIE[user_lv]>5) @solve(); echo("<br>level : $_COOKIE[user_lv]"); ?> <br> <pre> <a onclick=location.href='index.phps'>----- index.phps -----</a> </body> </html> | cs |
[코드분석]
2-6 : if문으로 "user_lv"라는 쿠키에 값이 비어있으면 "1"이라는 값을 넣고 새로고침해라
19 : 변수 password에 "????"라는 값으로 저장
21 : 만약 "user_lv"쿠키값이 숫자가 아닌 문자가 있으면 "user_lv"쿠키값은 1로 설정하기 (맞나...?!)
23 : 만약 "user_lv"쿠키값이 6이상이면 "user_lv"쿠키값은 1로 설정하기
25 : 만약 "user_lv"쿠키값이 5보다 크면 문제는 풀린다.
27 : 문제 페이지에 level 옆에 "user_lv"쿠키값이 출력되도록 한다.
코드를 보니 "user_lv"쿠키값에 값이 비어있으면 "1"이라는 값을 넣어주고 비어있지 않다면 조건과 비교하여 조건에 맞으면 문제가 풀린다고 한다.
그 조건은 "user_lv"쿠키값이 숫자만으로 이루어져야하고, 그 값은 5보다 크고 6보다 작아야한다는 것이다.
즉, "user_lv"쿠키값은 숫자인데 그 숫자 크기가 5초과 6미만이라는 뜻이다.
일단 문제페이지의 쿠키에 들어가서 "user_lv"쿠키값을 확인해보니 "1"로 설정되어 있다. (문제페이지에 level : 1 라고 보이는 이유)
너무 간단해서 설마 정말 ?? 라는 느낌을 가지고 "user_lv"쿠키값으로 5.5를 집어넣고 세로고침하였더니
띠용~!! Clear !!!
[참고]
※ 쿠키(cookie)란
HTTP 쿠키는 서버가 사용자의 웹 므라우저에 전송하는 작은 데이커 조각으로, 브라운저는 그 데이터 조각들을 저장하고 동일한 서버로 다음 요청 시 함께 전송할 것이다. 일반적으로, 예를 들자면, 사용자가 로그인 상태를 유지하도록 하여 두 요청이 동일한 브라우저에서 왔는지를 판단하기 위해 사용된다.
- 쿠키의 사용 목적
1. 쿠키는 세션관리(사용자 로그인, 쇼핑카트)
2. 개인화 (사용자 환경 설정)
3. 트래킹 (사용자 행동 분석)
[질문]
- index.phps에 나오는 코드의 21번째 줄 [^0-9,.]1번 정규표현식에서 [^0-9] 는 숫자 아닌 문자를 뜻한다는 건 알겠는데 반점찍고 뒤에 온점 있는 건 무슨 뜻이에요?.?
- 변수 password 는 아무런 사용이 안되고 있는데 눈속임용 인가요???
'웹해킹 > [webhacking.kr] ' 카테고리의 다른 글
[webhacking.kr] challenges26 (0) | 2017.11.07 |
---|---|
[webhacking.kr] challenges24 (0) | 2017.11.07 |
[webhacking.kr] challenges4 (0) | 2017.10.23 |
[webhacking.kr] challenges6 (0) | 2017.10.20 |
[webhacking.kr] challenges54 (0) | 2017.10.16 |