0

是这样子,前几天我的空间几个网站集体被黑。排查了好几天,基本都把该清除的清除掉了。今天备份的时候,用D盾顺手检测了一下,发现一个用typecho建的个人博客依旧报毒,我又一一做了排查,在清除掉根目录下的两个明显的新加恶意代码后,整体又用D盾查杀了一下,显示如下。

因为不太熟悉typecho的结构,也是为了偷懒,发现三个提醒都在VAR文件夹里,就决定用官方的原来版本的var目录集体替换下。

下载,对比,顺手查询~~

官方版本提示如下:

也就是说:/var/Typecho/I18n/GetText.php 原文件依旧提醒有eval内藏后门。

老实说,代码盲,对PHP不懂。怕这个D盾G点太高,误查,于是又用类似后门查杀软件守护神试了一下,/var/Typecho/I18n/GetText.php 原文件依旧爆毒~~。

不想证明什么,这个帖子只想问下熟悉PHP和typecho的大伙儿,这个文件到底是不是有问题?还是就这样儿,现在正担心网站安全问题。

对了,我是从Typecho官网下载的1.1-17.10.30-release版本,感兴趣的可以是自己下载一个看一下。具体文件是/var/Typecho/I18n目录下的GetText.php文件.望高手给小白指路~~

3个回答

1

只要確定 /usr/langs/ 裡面的語言不被惡意修改的話, 那個eval 是可以的

使用原因是為了使用po 文件中的複數定義:
例如

"Plural-Forms: nplurals=2; plural=(n != 1);n"

這種判斷式用下面替換的方法來做驗證是比較簡單的。

    private function select_string($n)
    {
        $string = $this->get_plural_forms();
        $string = str_replace('nplurals',"\$total",$string);
        $string = str_replace("n",$n,$string);
        $string = str_replace('plural',"\$plural",$string);

        $total = 0;
        $plural = 0;

        eval("$string");
        if ($plural >= $total) $plural = $total - 1;
        return $plural;
    }
0

因为好多的木马使用的了eval函数,所以100%的查木马软件会将它认为是后门,至于是不是,你可以直接查看这个源码

0

迷信一个安全防护软件是不可取的!

撰写答案