Gae Ko's Blog

[webhacking.kr] challenges1 본문

웹해킹 /[webhacking.kr]

[webhacking.kr] challenges1

Gae Ko 2017. 10. 23. 02:06

문제를 보니 



음 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