본문 바로가기

wargame/webhacking.kr

webhacking.kr 1번문제

336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

webhacking.kr 1번문제 풀이해보도록 하겠다.

 

1번문제에 들어가면 이렇다

 

 

index.phps로 가보라는거같으니 가보자

 

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

 

접속하면 코드가보인다

 

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

기본적으로 접속하면 쿠키설정하는데 쿠키값을 1로바꿔버린다.

정말그런지 확인해보자

 

 

 

정말로 쿠키값이 1이다

 

쿠키값을 토대로 아까 1번문제 페이지에서 출력하는거같다

 

echo("<br>level : $_COOKIE[user_lv]");

 

 

 

핵심코드를 보면 이것이다

 

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();
 

쿠키값을 검사하는데 여기서 쿠키값이 숫자가아니면 다시 쿠기값을 1로바꾼다

 

그말은 쿠키값을 변경시키는 문제이다 .

 

또 그다음줄을보면 쿠키값이 6이상이면 다시 1로바꿔버린다

 

근데 그밑에줄은 쿠키값이 5보다크면  solve()를 실행시키는거같다.

 

쿠키값이 5보다크면 6인데 6을적으면 1로바꿔버려서 solve를 실행할수가없다.

 

여기서 생각해보니 5보다큰것은 6뿐만아니라 소수점이있다는것을 알수가있다.

 

5.1을 쿠키값에 넣어보자

 

 

그러면 끝이다.

 

나는어제 풀어뒀엇다

 

 

 

 

 

 

'wargame > webhacking.kr' 카테고리의 다른 글

webhacking.kr 39번문제  (0) 2016.12.12
webhacking.kr 17번문제  (0) 2016.12.12
webhacking.kr 14번문제  (0) 2016.12.11
webhacking.kr 15번문제 풀이  (0) 2016.12.11
webhacking.kr 회원가입  (0) 2016.12.11