⚝
One Hat Cyber Team
⚝
Your IP:
216.73.216.19
Server IP:
178.33.27.10
Server:
Linux cpanel.dev-unit.com 3.10.0-1160.108.1.el7.x86_64 #1 SMP Thu Jan 25 16:17:31 UTC 2024 x86_64
Server Software:
Apache/2.4.57 (Unix) OpenSSL/1.0.2k-fips
PHP Version:
8.2.11
Buat File
|
Buat Folder
Eksekusi
Dir :
~
/
usr
/
local
/
softaculous
/
lib
/
aefer
/
View File Name :
srm.php
<?php function r_print($array){ echo '<pre>'; print_r($array); echo '</pre>'; } function can_create_file(){ $file = dirname(__FILE__).'/soft.tmp'; $fp = @fopen($file, 'wb'); if($fp === FALSE){ return false; } if(@fwrite($fp, 'ampps') === FALSE){ return false; } @fclose($fp); // Check if the file exists if(file_exists($file)){ @unlink($file); return true; } return false; } function ampps_ftp($host, $port, $username, $pass, $cd = false, $pri = '', $passphrase = ''){ global $settings; if($settings['protocol'] == 'sftp' && !class_exists('sftp')){ include_once('_'.$settings['protocol'].'.php'); }elseif($settings['protocol'] == 'ftps' && !class_exists('ftps')){ include_once('_'.$settings['protocol'].'.php'); }elseif($settings['protocol'] == 'ftp' && !class_exists('ftp_base')){ include_once('_'.$settings['protocol'].'.php'); }elseif($settings['protocol'] == 'customio' && !class_exists('CustomIO')){ include_once('_'.$settings['protocol'].'.php'); }elseif(!class_exists($settings['protocol'])){ require_once('_'.$settings['protocol'].'.php'); } if($settings['protocol'] == 'ftp'){ $ftp = new ftp(FALSE, FALSE); if(!$ftp->SetServer($host)) { $ftp->quit(); return 0; } if (!$ftp->connect()) { return -1; } if (!$ftp->login($username, $pass)) { $ftp->quit(); return -2; } if(!empty($cd)){ if(!$ftp->chdir($cd)){ if(!$ftp->chdir(trim($cd, '/'))){ return -3; } //return -3; } } if(!$ftp->SetType(FTP_AUTOASCII)){ } if(!$ftp->Passive(TRUE)){ } } if(empty($ftp)){ if($settings['protocol'] == 'customio'){ $ftp = new CustomIO(); }else{ $ftp = new $settings['protocol'](); } if($settings['protocol'] == 'sftp' && !empty($pri)){ $ftp->auth_pass = 0; }else{ $ftp->auth_pass = 1; } $ret = $ftp->connect($host, $port, $username, $pass, $pri, $passphrase); if(!is_object($ftp)){ return -1; } if(!$ret){ return -2; } /* if($settings['protocol'] == 'sftp' && (!$ret)){ return -2; } if(($settings['protocol'] == 'ftps' || $settings['protocol'] == 'customio') && !$ftp->ftp_conn){ return -2; } */ if(!empty($cd)){ if(!$ftp->is_dir($cd)){ return -3; } } } return $ftp; } function filelist($startdir="./", $searchSubdirs=1, $directoriesonly=0, $maxlevel="all", $level=1, $reset = 1) { //list the directory/file names that you want to ignore $ignoredDirectory[] = "."; $ignoredDirectory[] = ".."; $ignoredDirectory[] = "_vti_cnf"; global $directorylist; //initialize global array if(substr($startdir, -1) != '/'){ $startdir = $startdir.'/'; } if (is_dir($startdir)) { if ($dh = opendir($startdir)) { while (($file = readdir($dh)) !== false) { if (!(array_search($file,$ignoredDirectory) > -1)) { if (@filetype($startdir . $file) == "dir") { //build your directory array however you choose; //add other file details that you want. $directorylist[$startdir . $file]['level'] = $level; $directorylist[$startdir . $file]['dir'] = 1; $directorylist[$startdir . $file]['name'] = $file; $directorylist[$startdir . $file]['path'] = $startdir; if ($searchSubdirs) { if ((($maxlevel) == "all") or ($maxlevel > $level)) { filelist($startdir . $file . "/", $searchSubdirs, $directoriesonly, $maxlevel, ($level + 1), 0); } } } else { if (!$directoriesonly) { // echo substr(strrchr($file, "."), 1); //if you want to include files; build your file array //however you choose; add other file details that you want. $directorylist[$startdir . $file]['level'] = $level; $directorylist[$startdir . $file]['dir'] = 0; $directorylist[$startdir . $file]['name'] = $file; $directorylist[$startdir . $file]['path'] = $startdir; }}}} closedir($dh); }} if(!empty($reset)){ $r = $directorylist; $directorylist = array(); return($r); } } function _unlink($path){ global $ftp, $can_write, $settings; if($can_write){ return @unlink($path); } return $ftp->delete(spath($path)); } function _rmdir($path){ global $ftp, $can_write, $settings; if($can_write){ return @rmdir($path); } return $ftp->rmdir(spath($path)); } function rmdir_recursive($path){ $path = (substr($path, -1) == '/' || substr($path, -1) == '\\' ? $path : $path.'/'); $files = filelist($path, 1, 0, 'all'); $files = (!is_array($files) ? array() : $files); //First delete the files only foreach($files as $k => $v){ @chmod($k, 0777); if(file_exists($k) && is_file($k) && @filetype($k) == "file"){ @_unlink($k); } } @clearstatcache(); $folders = filelist($path, 1, 1, 'all'); $folders = (!is_array($folders) ? array() : $folders); @krsort($folders); //Now Delete the FOLDERS foreach($folders as $k => $v){ @chmod($k, 0777); if(is_dir($k)){ @_rmdir($k); } } @_rmdir($path); @clearstatcache(); } function soft_memory_limit($mb){ $bytes = ($mb * 1024 * 1024); $mb_str = (string) $mb.'M'; // Some servers might have ini_get disabled if(function_exists('ini_get')){ $memory_limit = @ini_get('memory_limit'); } if(empty($memory_limit)){ return; } $memory_limit_bytes = intval($memory_limit); $ind = array_search(strtolower(substr($memory_limit, -1)), array('b', 'k', 'm', 'g', 't')); if($ind > 0){ $memory_limit_bytes = intval($memory_limit) * pow(1024, $ind); } //$memory_limit_bytes > 0 is for memory limit = -1 if($memory_limit_bytes <= $bytes && $memory_limit_bytes > 0){ // Some servers might have ini_set disabled if(function_exists('ini_set')){ @ini_set('memory_limit', $mb_str); } } } function inputsec($string){ //get_magic_quotes_gpc is depricated in php 7.4 if(version_compare(PHP_VERSION, '7.4', '<')){ if(!get_magic_quotes_gpc()){ $string = addslashes($string); }else{ $string = stripslashes($string); $string = addslashes($string); } }else{ $string = addslashes($string); } // This is to replace ` which can cause the command to be executed in exec() $string = str_replace('`', '\`', $string); return $string; } function GET($name){ global $GET; if(isset($_GET[$name]) && !empty($_GET[$name])){ return inputsec(trim($_GET[$name])); } return $GET[$name]; } function softdie($txt){ $array = array(); $array['settings'] = $GLOBALS['settings']; $array['result'] = $txt; echo '<aefer>'.base64_encode(serialize($array)).'</aefer>';die(); } function spath($path){ global $settings; // This is for those who have defined override_spath in custom_user_func.php if(function_exists('override_spath')){ return override_spath($path); } return str_replace($settings['diff_path'], '', $path); } //[[[functions]]] set_time_limit(0); // Set a Minimum Memory limit of 32 MB soft_memory_limit(32); // Which OS are you ? $globals['os'] = (strtoupper(substr(PHP_OS, 0, 3) == 'WIN') ? 'windows' : 'linux'); // First Delete yourself ! @unlink(__FILE__); // More has to be done here ! // The settings $settings = unserialize(base64_decode('[[[settings]]]')); // CHMOD $path = unserialize(base64_decode('[[[path]]]')); $can_write = can_create_file(); // Check if we can write // Can we Create files ? if(!$can_write){ $ftp = ampps_ftp('127.0.0.1', $settings['port'], $settings['ftp_user'], $settings['ftp_pass'], $settings['ftp_softpath'], base64_decode($settings['_public_key']), base64_decode($settings['_private_key']), $settings['passphrase']); if($ftp <= 0){ // Try again with domain - Windows $ftp = ampps_ftp($settings['softdomain'], $settings['port'], $settings['ftp_user'], $settings['ftp_pass'], $settings['ftp_softpath'], base64_decode($settings['_public_key']), base64_decode($settings['_private_key']), $settings['passphrase']); if($ftp <= 0){ softdie('f'.$ftp);// - Error unzipping } } } // Remove it ! if(is_dir($path)){ rmdir_recursive($path); }elseif(file_exists($path)){ _unlink($path); } softdie('DONE');