DoR@Hee의 끄적끄적

webhacking.kr 37번 본문

WarGame/WebHacking.kr

webhacking.kr 37번

DoR@Hee 2019. 2. 22. 17:56


문제 첫화면 파일업로드를 이용해서 문제는 푸는 방식인거 같다. 





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
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
<html>
<head>
<title>Challenge 37</title>
</head>
<body>
<!-- index.phps -->
<?
 
$pw="???";
 
$time=time();
 
 
$f=fopen("tmp/tmp-$time","w");
fwrite($f,"127.0.0.1");
fclose($f);
 
 
$fck=@file("tmp/.number");
 
if($fck$fck=$fck[0];
if(!$fck$fck=0;
 
$fck++;
 
$f2=fopen("tmp/.number","w");
fwrite($f2,$fck);
fclose($f2);
 
$file_nm=$HTTP_POST_FILES[upfile][name];
$file_nm=str_replace("<","",$file_nm);
$file_nm=str_replace(">","",$file_nm);
$file_nm=str_replace(".","",$file_nm);
$file_nm=str_replace(" ","",$file_nm);
 
if($file_nm)
{
$f=@fopen("tmp/$file_nm","w");
@fwrite($f,$_SERVER[REMOTE_ADDR]);
@fclose($f);
}
 
 
 
 
echo("<pre>");
 
$kk=scandir("tmp");
 
for($i=0;$i<=count($kk);$i++)
{
echo("$kk[$i]\n");
}
 
echo("</pre>");
 
 
 
 
 
$ck=file("tmp/tmp-$time");
$ck=$ck[0];
 
$request="GET /$pw HTTP/1.0\r\n";
$request.="Host: $ck\r\n";
$request.="\r\n";
 
$socket=@fsockopen($ck,7777,$errstr,$errno,1);
 
@fputs($socket,$request);
 
@fclose($socket);
 
echo("$ck:7777<br>");
 
if($fck>=30)
{
$kk=scandir("tmp");
 
for($i=0;$i<=count($kk);$i++)
{
@unlink("tmp/$kk[$i]");
}
 
}
 
?>
 
<form method=post enctype="multipart/form-data" action=index.php>
<input type=file name=upfile><input type=submit>
</form>
 
 
 
 
</body>
</html>
cs

해당 소스코드 이며 fsockopen를 사용하는것으로보아 소켓연결 관련 문제 인거같다. 해당문제는 31번 문제처럼 

소켓연결이 안돼서 다음번에 풀이


실패

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

webhacking.kr 38번  (0) 2019.02.24
webhacking.kr 8번  (0) 2019.02.23
webhacking.kr 36번  (0) 2019.02.22
webhacking.kr 35번  (0) 2019.02.22
webhacking.kr 34번  (0) 2019.02.22
Comments