当前位置:论坛首页 > Linux面板 > Linux面板教程

webshell查杀误报提交入口

发表在 Linux面板2020-9-16 11:25 [复制链接] 58 42034

发表于 2021-12-3 09:52:45 | 显示全部楼层
1. 时间
2021-12-02
2. 代码的截图
tmp2.png

3. hash 值-1
tmp.png



使用道具 举报 回复 支持 反对
发表于 2021-12-15 04:09:48 | 显示全部楼层
zblog php程序      c_system_common.php    误报
使用道具 举报 回复 支持 反对
发表于 2021-12-18 15:53:51 | 显示全部楼层
zblogphp程序
c_system_common.php    误报
config.php    误报
已提交误报;
使用道具 举报 回复 支持 反对
发表于 2022-1-29 11:20:27 | 显示全部楼层
本帖最后由 宝塔用户_kvewpk 于 2022-1-29 11:23 编辑

function_core.zip (18.53 KB, 下载次数: 137339)
使用道具 举报 回复 支持 反对
发表于 2022-2-18 10:15:50 | 显示全部楼层
本帖最后由 宝塔用户_qedbuy 于 2022-3-21 16:21 编辑

1.时间:2022.2.21
2.代码截图:

3.hash:1c5f77010063674926ab1cc9320ad8fe56be70cd



P%H1WNKXJU~GA2W@4EOZ{%P.png
webshell.png
80%87S2E{_Y_G0WBKID6QUH.png
使用道具 举报 回复 支持 反对
发表于 2022-3-14 20:46:35 | 显示全部楼层
本帖最后由 宝塔用户_kvewpk 于 2022-3-14 20:50 编辑

时间:2022.3.14 function_core.zip (18.53 KB, 下载次数: 7113)
使用道具 举报 回复 支持 反对
发表于 2022-3-18 16:36:12 | 显示全部楼层
QQ截图20220318163531.jpg
使用道具 举报 回复 支持 反对
发表于 2022-3-19 15:22:53 | 显示全部楼层
2022.03.19扫描出来了好多个

360截图20220319151630182.jpg




这是第一个代码截图


360截图20220319151840590.jpg






复制的hash值发不了
360截图20220319151630182.jpg
使用道具 举报 回复 支持 反对
发表于 2022-3-29 09:14:59 | 显示全部楼层
hash值在哪里发现?我也提交一个可能是误报的凡是这种程序开发的都报webshell,这个文件,没法删除,是在缓存文件里生成的,删除了又会自动生成,程序是thinkcmf
5555.png WX20220329-085716.png
第三方在线查杀出也说这是后门,到底是不是呢,代码文件压缩包上传很久一直在打转
文件路径
后门代码
后门描述

common_runtime.php$class = str_replace(array('.'$name = str_replace(array('.'$parse($file)$a($b)动态函数后门
  1. <?php namespace {function C($name=null, $value=null,$default=null) { static $_config = array(); if (empty($name)) { return $_config; } if (is_string($name)) { if (!strpos($name, '.')) { $name = strtoupper($name); if (is_null($value)) return isset($_config[$name]) ? $_config[$name] : $default; $_config[$name] = $value; return null; } $name = explode('.', $name); $name[0] = strtoupper($name[0]); if (is_null($value)) return isset($_config[$name[0]][$name[1]]) ? $_config[$name[0]][$name[1]] : $default; $_config[$name[0]][$name[1]] = $value; return null; } if (is_array($name)){ $_config = array_merge($_config, array_change_key_case($name,CASE_UPPER)); return null; } return null; } function load_config($file,$parse=CONF_PARSE){ $ext = pathinfo($file,PATHINFO_EXTENSION); switch($ext){ case 'php': return include $file; case 'ini': return parse_ini_file($file); case 'yaml': return yaml_parse_file($file); case 'xml': return (array)simplexml_load_file($file); case 'json': return json_decode(file_get_contents($file), true); default: if(function_exists($parse)){ return $parse($file); }else{ E(UPPORT_').':'.$ext); } } } if (!function_exists('yaml_parse_file')) { function yaml_parse_file($file) { vendor('spyc.Spyc'); 。。。。。。
复制代码


使用道具 举报 回复 支持 反对
发表于 2022-4-3 03:44:12 | 显示全部楼层
【2022-04-03 03:33:45】 正在扫描网站 【www.****t.cn】
/www/wwwroot/www.******.cn/zb_system/function/c_system_common.php文件为木马  hash:9a4cc45514a81f265f400455c5eb7c1b034f6cac
【2022-04-03 03:33:45】 扫描完毕!本次扫描耗时35秒,发现1个木马

这个是zblog php 1.7的官方文件,没有任何更改


<?php

/**
* 辅助通用函数.
*/

if (!defined('ZBP_PATH')) {
    exit('Access denied');
}

/**
* 得到请求协议(考虑到不正确的配置反向代理等原因,未必准确)
* 如果想获取准确的值,请zbp->Load后使用$zbp->isHttps.
*
* @param array $array
*
* @return string
*/
function GetScheme($array)
{
    $array = array_change_key_case($array, CASE_UPPER);

    if (array_key_exists('REQUEST_SCHEME', $array) && (strtolower($array['REQUEST_SCHEME']) == 'https')) {
        return 'https://';
    } elseif (array_key_exists('HTTPS', $array) && (strtolower($array['HTTPS']) == 'on')) {
        return 'https://';
    } elseif (array_key_exists('SERVER_PORT', $array) && ($array['SERVER_PORT'] == 443)) {
        return 'https://';
    } elseif (array_key_exists('HTTP_X_FORWARDED_PORT', $array) && ($array['HTTP_X_FORWARDED_PORT'] == 443)) {
        return 'https://';
    } elseif (array_key_exists('HTTP_X_FORWARDED_PROTO', $array) && (strtolower($array['HTTP_X_FORWARDED_PROTO']) == 'https')) {
        return 'https://';
    } elseif (array_key_exists('HTTP_X_FORWARDED_PROTOCOL', $array) && (strtolower($array['HTTP_X_FORWARDED_PROTOCOL']) == 'https')) {
        return 'https://';
    } elseif (array_key_exists('HTTP_X_FORWARDED_SSL', $array) && (strtolower($array['HTTP_X_FORWARDED_SSL']) == 'on')) {
        return 'https://';
    } elseif (array_key_exists('HTTP_X_URL_SCHEME', $array) && (strtolower($array['HTTP_X_URL_SCHEME']) == 'https')) {
        return 'https://';
    } elseif (array_key_exists('HTTP_CF_VISITOR', $array) && (stripos($array['HTTP_CF_VISITOR'], 'https') !== false)) {
        return 'https://';
    } elseif (array_key_exists('HTTP_FROM_HTTPS', $array) && (strtolower($array['HTTP_FROM_HTTPS']) == 'on')) {
        return 'https://';
    } elseif (array_key_exists('HTTP_FRONT_END_HTTPS', $array) && (strtolower($array['HTTP_FRONT_END_HTTPS']) == 'on')) {
        return 'https://';
    } elseif (array_key_exists('SERVER_PORT_SECURE', $array) && ($array['SERVER_PORT_SECURE'] == 1)) {
        return 'https://';
    }
    return 'http://';
}

/**
* 获取服务器.
*
* @return int
*/
function GetWebServer()
{
    if (!isset($_SERVER['SERVER_SOFTWARE'])) {
        return SERVER_UNKNOWN;
    }
    $webServer = strtolower($_SERVER['SERVER_SOFTWARE']);
    if (strpos($webServer, 'apache') !== false) {
        return SERVER_APACHE;
    } elseif (strpos($webServer, 'microsoft-iis') !== false) {
        return SERVER_IIS;
    } elseif (strpos($webServer, 'nginx') !== false) {
        return SERVER_NGINX;
    } elseif (strpos($webServer, 'lighttpd') !== false) {
        return SERVER_LIGHTTPD;
    } elseif (strpos($webServer, 'kangle') !== false) {
        return SERVER_KANGLE;
    } elseif (strpos($webServer, 'caddy') !== false) {
        return SERVER_CADDY;
    } elseif (strpos($webServer, 'development server') !== false) {
        return SERVER_BUILTIN;
    } else {
        return SERVER_UNKNOWN;
    }
}

/**
* 获取操作系统
*
* @return int
*/
function GetSystem()
{
    if (in_array(strtoupper(PHP_OS), array('WINNT', 'WIN32', 'WINDOWS'))) {
        return SYSTEM_WINDOWS;
    } elseif ((strtoupper(PHP_OS) === 'UNIX')) {
        return SYSTEM_UNIX;
    } elseif (strtoupper(PHP_OS) === 'LINUX') {
        return SYSTEM_LINUX;
    } elseif (strtoupper(PHP_OS) === 'DARWIN') {
        return SYSTEM_DARWIN;
    } elseif (strtoupper(substr(PHP_OS, 0, 6)) === 'CYGWIN') {
        return SYSTEM_CYGWIN;
    } elseif (in_array(strtoupper(PHP_OS), array('NETBSD', 'OPENBSD', 'FREEBSD'))) {
        return SYSTEM_BSD;
    } else {
        return SYSTEM_UNKNOWN;
    }
}

/**
* 获取PHP解析引擎.
*
* @return int
*/
function GetPHPEngine()
{
    return ENGINE_PHP;
}

/**
* 获取PHP Version.
*
* @return string
*/
function GetPHPVersion()
{
    $p = phpversion();
    if (strpos($p, '-') !== false) {
        $p = substr($p, 0, strpos($p, '-'));
    }

    return $p;
}

/**
* 自动加载类文件.
*
* @param string $className 类名
*
* @api    Filter_Plugin_Autoload
* *
* @return mixed
*/
function AutoloadClass($className)
{
    global $autoload_class_dirs;
    foreach ($GLOBALS['hooks']['Filter_Plugin_Autoload'] as $fpname => &$fpsignal) {
        $fpreturn = $fpname($className);
        if ($fpsignal == PLUGIN_EXITSIGNAL_RETURN) {
            $fpsignal = PLUGIN_EXITSIGNAL_NONE;

            return $fpreturn;
        }
    }

    $className = str_replace('__', '/', $className);
    //$fileName = ZBP_PATH . 'zb_system/function/lib/' . strtolower($className) . '.php';
    foreach ($autoload_class_dirs as $dir) {
        $fileName = $dir . strtolower($className) . '.php';
        if (is_readable($fileName)) {
            include $fileName;
            return true;
        }
    }

    return false;
}

/**
* 管理自动加载类文件的目录.
*/
function AddAutoloadClassDir($dir, $prepend = false)
{
    global $autoload_class_dirs;
    $dir = trim($dir);
    if (empty($dir)) {
        return false;
    }
    $dir = str_replace('\\', '/', $dir);
    $dir = rtrim($dir, '/') . '/';
    if ($prepend == false) {
        $autoload_class_dirs[] = $dir;
    } else {
        array_unshift($autoload_class_dirs, $dir);
    }
    return true;
}

/**
* 记录日志.
*
* @param string $logString
* @param string $level INFO|ERROR|WARNING|FATAL|DEBUG|TRACE
* @param string $source system or plugin ID
*
* @return bool
*/
function Logs($logString, $level = 'INFO', $source = 'system')
{
    global $zbp;
    $time = date('Y-m-d') . ' ' . date('H:i:s') . ' ' . substr(microtime(), 1, 9) . ' ' . date('P');
    $isError = false;
    if ($level === true) {
        $level = 'ERROR';
    } elseif ($level === false) {
        $level = 'INFO';
    }
    $level = strtoupper($level);
    if ($level == 'WARNING' || $level == 'ERROR' || $level == 'FATAL') {
        $isError = true;
    }

    $ip = GetGuestIP();
    $ua = GetGuestAgent();

    foreach ($GLOBALS['hooks']['Filter_Plugin_Logs'] as $fpname => &$fpsignal) {
        $fpreturn = $fpname($logString, $level, $source, $time, $ip, $ua);
        if ($fpsignal == PLUGIN_EXITSIGNAL_RETURN) {
            $fpsignal = PLUGIN_EXITSIGNAL_NONE;

            return $fpreturn;
        }
    }
    if ($zbp->guid) {
        if ($isError) {
            $f = $zbp->logsdir . '' . $zbp->guid . '-error' . date("Ymd") . '.txt';
        } else {
            $f = $zbp->logsdir . '' . $zbp->guid . '-log' . date("Ymd") . '.txt';
        }
    } else {
        if ($isError) {
            $f = $zbp->logsdir . '' . md5($zbp->path) . '-error.txt';
        } else {
            $f = $zbp->logsdir . '' . md5($zbp->path) . '.txt';
        }
    }

    ZBlogException::SuspendErrorHook();
    $handle = @fopen($f, 'a+');
    if ($handle) {
        $t = $time;
        @fwrite($handle, '[' . $t . ']' . " " . $level . " " . $source . " " . $ip . "\r\n" . $logString . "\r\n");
        @fclose($handle);
    }
    ZBlogException::ResumeErrorHook();

    return true;
}

/**
* Logs指定的变量的值
*/
function Logs_Dump()
{
    $a = func_get_args();
    foreach ($a as $key => $value) {
        $s = call_user_func('print_r', $value, true);
        Logs($s);
    }
}

/*
* 初始化统计信息
*/
function RunTime_Begin()
{
    $_SERVER['_start_time'] = microtime(true); //RunTime
    $_SERVER['_query_count'] = 0;
    $_SERVER['_memory_usage'] = 0;
    $_SERVER['_error_count'] = 0;
    if (function_exists('memory_get_usage')) {
        $_SERVER['_memory_usage'] = memory_get_usage();
    }
}

/**
* 输出页面运行时长
*
* @param bool $isOutput 是否输出(考虑历史原因,默认输出)
*
* @return array
*/
function RunTime($isOutput = true)
{
    global $zbp;

    $rt = array();
    $_end_time = microtime(true);
    $rt['time'] = number_format((1000 * ($_end_time - $_SERVER['_start_time'])), 2);
    $rt['query'] = $_SERVER['_query_count'];
    $rt['memory'] = $_SERVER['_memory_usage'];
    $rt['debug'] = $zbp->isdebug ? 1 : 0;
    $rt['loggedin'] = $zbp->islogin ? 1 : 0;
    $rt['error'] = $_SERVER['_error_count'];
    $rt['error_detail'] = ZBlogException:errors_msg;
    if (function_exists('memory_get_peak_usage')) {
        $rt['memory'] = (int) ((memory_get_peak_usage() - $_SERVER['_memory_usage']) / 1024);
    }

    $_SERVER['_runtime_result'] = $rt;

    $_SERVER['_end_time'] = $_end_time;

    if (isset($zbp->option['ZC_RUNINFO_DISPLAY']) && $zbp->option['ZC_RUNINFO_DISPLAY'] == false) {
        return $rt;
    }

    if ($isOutput) {
        echo '<!--' . $rt['time'] . ' ms , ';
        echo $rt['query'] . ($rt['query'] > 1 ? ' queries' : ' query');
        echo ' , ' . $rt['memory'] . 'kb memory';
        echo ' , ' . $rt['error'] . ' error' . ($rt['error'] > 1 ? 's' : '');
        //echo print_r($rt['error_detail'], true);
        echo '-->';
    }

    return $rt;
}

/**
* 获得系统信息.
*
* @return string 系统信息
*
* @since 1.4
*/
function GetEnvironment($more = false)
{
    global $zbp;
    $ajax = Network::Create();
    if ($ajax) {
        $ajax = substr(get_class($ajax), 9);
    }
    if ($ajax == 'curl') {
        if (ini_get("safe_mode")) {
            $ajax .= '-s';
        }
        if (ini_get("open_basedir")) {
            $ajax .= '-o';
        }
        $array = curl_version();
        $ajax .= $array['version'];
    }
    if (function_exists('php_uname') == true) {
        $uname = SplitAndGet(php_uname('r'), '-', 0);
    } else {
        $uname = '';
    }
    $system_environment = PHP_OS . $uname . '; ' .
        GetValueInArray(
            explode(
                ' ',
                str_replace(array('Microsoft-', '/'), array('', ''), GetVars('SERVER_SOFTWARE', 'SERVER'))
            ),
            0
        ) . '; PHP' . GetPHPVersion() . (IS_X64 ? 'x64' : '') . '; ';
    if (isset($zbp->option) && isset($zbp->db)) {
        $system_environment .= $zbp->option['ZC_DATABASE_TYPE'] . $zbp->db->version;
    }
    $system_environment .= '; ' . $ajax;
    if (defined('OPENSSL_VERSION_TEXT')) {
        $a = explode(' ', OPENSSL_VERSION_TEXT);
        $system_environment .= '; ' . GetValueInArray($a, 0) . GetValueInArray($a, 1);
    }

    if ($more) {
        if (method_exists($zbp, 'LoadApp')) {
            $app = $zbp->LoadApp('plugin', 'AppCentre');
            if (is_object($app) && $app->isloaded == true && $app->IsUsed()) {
                $system_environment .= ';  AppCentre' . $app->version;
            }
        }
        $um = ini_get('upload_max_filesize');
        $pm = ini_get('post_max_size');
        $ml = ini_get('memory_limit');
        $et = ini_get('max_execution_time');
        $system_environment .= '; memory_limit:' . $ml . '; max_execution_time:' . $et;
        $system_environment .= '; upload_max_filesize:' . $um . '; post_max_size:' . $pm;
    }
    return $system_environment;
}

/**
* 通过文件获取应用URL地址
*
* @param string $file 文件名
*
* @return string 返回URL地址
*/
function plugin_dir_url($file)
{
    global $zbp;
    $s1 = $zbp->path;
    $s2 = str_replace('\\', '/', dirname($file) . '/');
    $s = substr($s2, strspn($s1, $s2, 0));
    if (strpos($s, 'zb_users/plugin/') !== false) {
        $s = substr($s, strspn($s, $s3 = 'zb_users/plugin/', 0));
    } else {
        $s = substr($s, strspn($s, $s3 = 'zb_users/theme/', 0));
    }
    $a = explode('/', $s);
    $s = $a[0];
    $s = $zbp->host . $s3 . $s . '/';

    return $s;
}

/**
* 通过文件获取应用目录路径.
*
* @param $file
*
* @return string
*/
function plugin_dir_path($file)
{
    global $zbp;
    $s1 = $zbp->path;
    $s2 = str_replace('\\', '/', dirname($file) . '/');
    $s = substr($s2, strspn($s1, $s2, 0));
    if (strpos($s, 'zb_users/plugin/') !== false) {
        $s = substr($s, strspn($s, $s3 = 'zb_users/plugin/', 0));
    } else {
        $s = substr($s, strspn($s, $s3 = 'zb_users/theme/', 0));
    }
    $a = explode('/', $s);
    $s = $a[0];
    $s = $zbp->path . $s3 . $s . '/';

    return $s;
}

/**
* 通过Key从数组获取数据.
*
* @param array  $array 数组名
* @param string $name  下标key
*
* @return mixed
*/
function GetValueInArray($array, $name, $default = null)
{
    if (is_array($array)) {
        if (array_key_exists($name, $array)) {
            return $array[$name];
        }
        return $default;
    }
    return $default;
}

/**
* 获取数组中的当前元素(还是数组)的数据.
*
* @param string $array 数组名
* @param string $name  下标key
*
* @return mixed
*/
function GetValueInArrayByCurrent($array, $name, $default = null)
{
    if (is_array($array)) {
        $array = current($array);

        return GetValueInArray($array, $name, $default);
    }
}

/**
* 分割string并取某项数据.
*
* @param string $string
* @param string $delimiter
* @param int    $n
*
* @return string
*/
function SplitAndGet($string, $delimiter = ';', $n = 0)
{
    $a = explode($delimiter, $string);
    if (!is_array($a)) {
        $a = array();
    }
    if (isset($a[$n])) {
        return (string) $a[$n];
    }

    return '';
}

/**
* 删除连续空格
*
* @param $s
*
* @return null|string|string[]
*/
function RemoveMoreSpaces($s)
{
    return preg_replace("/\s(?=\s)/", "\\1", $s);
}

/**
* 获取Guid.
*
* @return string
*/
function GetGuid()
{
    mt_srand();
    $charid = strtolower(md5(uniqid(mt_rand(), true)));

    return $charid;
}

/**
* 获取参数值
*
* @param string $name 数组key名
* @param string $type 默认为REQUEST
*
* @return mixed|null
*/
function GetVars($name, $type = 'REQUEST', $default = null)
{
    if (empty($type)) {
        $type = 'REQUEST';
    }
    $array = &$GLOBALS[strtoupper("_$type")];

    if (array_key_exists($name, $array)) {
        return $array[$name];
    } else {
        return $default;
    }
}

/**
* 获取参数值(可设置默认返回值).本函数在1.7已经废弃了,改用GetVars!
*
* @param string $name    数组key名
* @param string $type    默认为REQUEST
* @param string $default 默认为null
*
* @return mixed|null
*
* @since 1.3.140614
*/
function GetVarsByDefault($name, $type = 'REQUEST', $default = null)
{
    return GetVars($name, $type, $default);
}


使用道具 举报 回复 支持 反对
发表于 2023-3-30 16:30:35 | 显示全部楼层

webshell查杀是不是window没办法用
使用道具 举报 回复 支持 反对
发表于 2023-7-17 09:04:29 | 显示全部楼层
1. 时间:2023-07-16 01:32:06
2. 代码的截图: 微信图片_20230717090413.png
3. hash 值:e4b6e8f81a77bfc7eed334c86f63ace0


使用道具 举报 回复 支持 反对
发表于 2023-7-18 11:25:16 | 显示全部楼层
baiyanghk 发表于 2023-7-17 09:04
1. 时间:2023-07-16 01:32:06
2. 代码的截图:
3. hash 值:e4b6e8f81a77bfc7eed334c86f63ace0

应该好了
使用道具 举报 回复 支持 反对
发表于 2023-12-20 11:39:12 | 显示全部楼层
一直提示扫描中,然后扫描进度条没有任何变化,应该是0
请问各位大神,这是是什么原因呢?
123err.jpg
使用道具 举报 回复 支持 反对
1234
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

普通问题处理

论坛响应时间:72小时

问题处理方式:排队(仅解答)

工作时间:白班:9:00 - 18:00

紧急运维服务

响应时间:3分钟

问题处理方式:宝塔专家1对1服务

工作时间:工作日:9:00 - 18:30

宝塔专业团队为您解决服务器疑难问题

立即付费处理

工作时间:09:00至24:00

快速回复 返回顶部 返回列表