HEX
Server: Apache
System: Linux eisbus 6.8.12-9-pve #1 SMP PREEMPT_DYNAMIC PMX 6.8.12-9 (2025-03-16T19:18Z) x86_64
User: www-data (33)
PHP: 8.2.29
Disabled: NONE
Upload Files
File: //ispp_loader.php
<?php

define('ISPP_LOADER', 15);

$sg_dir = __DIR__ . '/loader';

if(is_dir($sg_dir)) {
	$curver = '';
	if(file_exists($sg_dir . '/loader.dat')) {
		$curver = file_get_contents($sg_dir . '/loader.dat');
	}

	if(version_compare($curver, ISPP_LOADER) < 0) {
		// recursively delete all files in the directory
		$files = new RecursiveIteratorIterator(
			new RecursiveDirectoryIterator($sg_dir, RecursiveDirectoryIterator::SKIP_DOTS),
			RecursiveIteratorIterator::CHILD_FIRST
		);
		foreach($files as $fileinfo) {
			$todo = ($fileinfo->isDir() ? 'rmdir' : 'unlink');
			$todo($fileinfo->getRealPath());
		}
		rmdir($sg_dir);
	}
}

if(!function_exists('sg_load')) {

	if(!is_dir($sg_dir)) {
		mkdir($sg_dir, 0700);
		chmod($sg_dir, 0700);
	}

	$phpver = phpversion();
	$v = explode('.', $phpver);
	$ver = $v[0] . '.' . (int)$v[1];

	$os = strtolower(substr(php_uname(), 0, 3));
	$thread_safe = (@constant('PHP_ZTS') || @constant('ZEND_THREAD_SAFE'));

	$loader_file = 'ixed.' . $ver . ($thread_safe ? 'ts' : '') . '.' . $os;

	$loader_url = 'https://www.sourceguardian.com/loaders/download.php?php_v=' . urlencode($phpver) . '&php_ts=' . ($thread_safe ? '1' : '0') . '&php_is=' . @constant('PHP_INT_SIZE') . '&os_s=' . urlencode(php_uname('s')) . '&os_r=' . urlencode(php_uname('r')) . '&os_m=' . urlencode(php_uname('m'));

	if(!file_exists($sg_dir . '/' . $loader_file . '.so')) {
		$out = null;
		$ret = null;
		exec('curl --output ' . escapeshellarg($sg_dir . '/' . $loader_file . '.so') . ' ' . escapeshellarg($loader_url) . ' >/dev/null 2>&1', $out, $ret);
		if($ret !== 0) {
			die('ERR');
		} elseif(!file_exists($sg_dir . '/' . $loader_file . '.so')) {
			die('ERR');
		}
	}

	file_put_contents($sg_dir . '/loader.dat', ISPP_LOADER);
	print $sg_dir . '/' . $loader_file . '.so';
	exit;
}