DoR@Hee의 끄적끄적

webhacking.kr 24번 본문

WarGame/WebHacking.kr

webhacking.kr 24번

DoR@Hee 2019. 2. 19. 14:38


문제 첫 화면 사용자의 아이피 및 클라이어느 정보가 출력된다.



소스보기를 해보니 소스파일을 보여준다.


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
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
 
<html>
<head>
<title>Challenge 24</title>
</head>
<body>
<?
 
extract($_SERVER);
extract($_COOKIE);
 
if(!$REMOTE_ADDR$REMOTE_ADDR=$_SERVER[REMOTE_ADDR]; //$_SERVER['REMOTE_ADDR'] 사용자의 ip를 의미하며, $REMOTE_ADDR에 담고있다
 
$ip=$REMOTE_ADDR;
$agent=$HTTP_USER_AGENT//$HTTP_USER_AGENT는 클라이언트의 정보를 의미한다.
 
 
if($_COOKIE[REMOTE_ADDR])
{
$ip=str_replace("12","",$ip);
$ip=str_replace("7.","",$ip);
$ip=str_replace("0.","",$ip);
}
 
 
 
- $_SERVER[REMOTE_ADDR] >  $REMOTE_ADDR > $ip
- 12 | 7. | 0.| 필터링 
 
echo("<table border=1><tr><td>client ip</td><td>$ip</td></tr><tr><td>agent</td><td>$agent</td></tr></table>");
 
if($ip=="127.0.0.1")
{
@solve();
}
 
else
{
echo("<p><hr><center>Wrong IP!</center><hr>");
}
?>
 
 
 
<!--
source : index.phps
-->
 
</body>
</html>
Colored by Color Scripter
cs


해당 소스코드 이며, 클라이언트의 정보, ip를 $REMOTE_ADDR에 넣은 후 다시 그 값을 ip에 넣는다. 

그 후

쿠키 $_COOKIE[REMOTE_ADDR] 에 있는 값에 12, 7. 0. 이 존재 할 경우 str_replace를 이용 필터링 한 후 다시 $ip에 대입하며,


ip값에 127.0.0.1 이라는 값이 있을 경우 문제 해결이 되는 문제이다. 


결론은 쿠키값을 넣으면 풀린다.


성공

'WarGame > WebHacking.kr' 카테고리의 다른 글

webhacking.kr 26번  (0) 2019.02.19
webhacking.kr 25번  (0) 2019.02.19
webhacking.kr 23번  (0) 2019.02.15
webhacking.kr 22번  (0) 2019.02.15
webhacking.kr 21번  (0) 2019.02.15
Comments