본문 바로가기
웹 해킹/webhacking.kr

webhacking.kr 37번

by sonysame 2018. 2. 12.

index.phps가 있었다!

<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>


$pw를 보내주는데, 저걸 받아야 한다.

하지만, 지금 127.0.0.1로 보내는데, 우리걸로 보내게 만들어야 한다!

이미 파일이 존재해야 하는데, 미래의 tmp-어쩌구를 미리 만들어놓는다!


그리고 포트포워딩으로 패스워드를 받으면 끝!



'웹 해킹 > webhacking.kr' 카테고리의 다른 글

webhacking.kr 43번  (0) 2018.02.12
webhacking.kr 41번  (0) 2018.02.12
webhacking.kr 21번-BLIND SQL INJECTION  (0) 2018.02.12
webhacking.kr 12번  (0) 2018.02.12
webhacking.kr 10번  (0) 2018.02.12